![]() |
Documentation 6b54b78464
|
Data structure holding an offset for the NdFlattener, to provide a []...[]-interface. More...
#include <ndflattener.hpp>
Public Types | |
| using | Base = IndexAccumulator_Base< N_, Nd_t_, Check > |
| using | Nd_t = Nd_t_ |
| using | Index_t = typename Nd_t::Index_t |
| using | Nd_Base_t = su2conditional_t< std::is_const< Nd_t >::value, const typename Nd_t::Base, typename Nd_t::Base > |
| using | LookupType = IndexAccumulator< N - 1, Nd_Base_t > |
| using | LookupType_const = IndexAccumulator< N - 1, const typename Nd_t::Base > |
Public Types inherited from helpers::IndexAccumulator_Base< N_, Nd_t_, Check > | |
| using | Nd_t = Nd_t_ |
| using | Index_t = typename Nd_t::Index_t |
Public Member Functions | |
| IndexAccumulator (Nd_t &nd, Index_t offset, Index_t size) | |
| LookupType | operator[] (Index_t i) |
| Read one more index, checking whether it is in the range dictated by the NdFlattener and previous indices. Non-const version. | |
| LookupType_const | operator[] (Index_t i) const |
| Read one more index, const version. | |
| void | CheckBound (Index_t i) const |
| Index_t | size () const |
| Return exclusive upper bound for next index. | |
Public Member Functions inherited from helpers::IndexAccumulator_Base< N_, Nd_t_, Check > | |
| Index_t | size () const |
| Return exclusive upper bound for next index. | |
Public Attributes | |
| Nd_t & | nd |
| The accessed NdFlattener. | |
| const Index_t | offset |
| Index in the currently accessed layer. | |
Static Public Attributes | |
| static constexpr size_t | N = N_ |
Static Public Attributes inherited from helpers::IndexAccumulator_Base< N_, Nd_t_, Check > | |
| static constexpr size_t | N = N_ |
Additional Inherited Members | |
Protected Member Functions inherited from helpers::IndexAccumulator_Base< N_, Nd_t_, Check > | |
| IndexAccumulator_Base (Nd_t &nd, Index_t offset, Index_t size) | |
| void | CheckBound (Index_t i) const |
Protected Attributes inherited from helpers::IndexAccumulator_Base< N_, Nd_t_, Check > | |
| Nd_t & | nd |
| The accessed NdFlattener. | |
| const Index_t | offset |
| Index in the currently accessed layer. | |
| const Index_t | size_ |
| Exclusive upper bound for the next index. | |
Data structure holding an offset for the NdFlattener, to provide a []...[]-interface.
Derived from IndexAccumulator_Base, specifying the operator[] method:
| N | - Number of missing parameters |
| Nd_t | - Type of the accessed NdFlattener, should be NdFlattener<N,...> |
| Check | - if true, raise error if index to operator[] is not in range |
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::Base = IndexAccumulator_Base<N_, Nd_t_, Check> |
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::Index_t = typename Nd_t::Index_t |
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::LookupType = IndexAccumulator<N - 1, Nd_Base_t> |
Return type of operator[].
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::LookupType_const = IndexAccumulator<N - 1, const typename Nd_t::Base> |
Return type of operator[] const.
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::Nd_Base_t = su2conditional_t<std::is_const<Nd_t>::value, const typename Nd_t::Base, typename Nd_t::Base> |
The Base of NdFlattener<K> is NdFlattener<K-1>, but do also preserve constness.
| using helpers::IndexAccumulator< N_, Nd_t_, Check >::Nd_t = Nd_t_ |
|
inline |
|
inline |
|
inline |
Read one more index, checking whether it is in the range dictated by the NdFlattener and previous indices. Non-const version.
| [in] | i | - Index. |
|
inline |
Read one more index, const version.
| [in] | i | - Index. |
|
inline |
Return exclusive upper bound for next index.
|
staticconstexpr |
| Nd_t& helpers::IndexAccumulator_Base< N_, Nd_t_, Check >::nd |
The accessed NdFlattener.
| const Index_t helpers::IndexAccumulator_Base< N_, Nd_t_, Check >::offset |
Index in the currently accessed layer.