A hybrid multi-index class that supports both compile time and run time indices.
More...
|
| constexpr | HybridMultiIndex ()=default |
| constexpr | HybridMultiIndex (const HybridMultiIndex &tp)=default |
| constexpr | HybridMultiIndex (HybridMultiIndex &&tp)=default |
| constexpr HybridMultiIndex & | operator= (const HybridMultiIndex &tp)=default |
| constexpr HybridMultiIndex & | operator= (HybridMultiIndex &&tp)=default |
| constexpr | HybridMultiIndex (std::tuple< T... > t) |
| | Constructor from a std::tuple.
|
template<typename... I>
requires ((sizeof...(T) > 0 && sizeof...(I) == sizeof...(T)) and ((std::is_integral_v<I> or Dune::IsIntegralConstant<I>::value) && ...)) |
| constexpr | HybridMultiIndex (I... i) |
| | Constructor from arguments.
|
template<std::size_t i>
requires (sizeof...(T) > i) |
| constexpr auto | get () const |
| | Get the index value at position pos.
|
template<std::size_t i>
requires (sizeof...(T) > i) |
| constexpr auto | operator[] (Dune::index_constant< i >) const |
| | Get the index value at position pos.
|
| constexpr std::size_t | operator[] (std::size_t pos) const |
| | Get the index value at position pos.
|
template<std::size_t i>
requires (sizeof...(T) > i) |
| constexpr auto | element (Dune::index_constant< i > pos={}) const |
| | Get the last index value.
|
| constexpr std::size_t | element (std::size_t pos) const |
| | Get the index value at position pos.
|
template<std::size_t n = sizeof...(T)>
requires (n > 0 && n == sizeof...(T)) |
| constexpr auto | front () const |
| | Get the first index value. Only available in non-empty multi-indices.
|
template<std::size_t n = sizeof...(T)>
requires (n > 0 && n == sizeof...(T)) |
| constexpr auto | back () const |
| | Get the last index value. Only available in non-empty multi-indices.
|
template<typename... T>
class Dune::HybridMultiIndex< T >
A hybrid multi-index class that supports both compile time and run time indices.
A HybridMultiIndex supports storing a combination of run time and compile time indices. This allows to construct multi-indices that provide sufficient information for accessing nested multi-type containers.
- Note
- Internally all indices are stored as std::size_t or std::integral_constant<std::size_t,v>. The latter is the same as Dune::index_constant<v>.