|
dune-common 2.11
|
#include <cstddef>#include <cassert>#include <iostream>#include <type_traits>#include <dune/common/typetraits.hh>#include <dune/common/indices.hh>#include <dune/common/hybridutilities.hh>Go to the source code of this file.
Classes | |
| class | Dune::HybridMultiIndex< T > |
| A hybrid multi-index class that supports both compile time and run time indices. More... | |
| struct | std::tuple_size< Dune::HybridMultiIndex< T... > > |
| struct | std::tuple_element< i, Dune::HybridMultiIndex< T... > > |
Namespaces | |
| namespace | Dune |
| Dune namespace | |
| namespace | std |
| STL namespace. | |
Functions | |
| template<typename... I> requires (((std::is_integral_v<I> or Dune::IsIntegralConstant<I>::value) && ...)) | |
| Dune::HybridMultiIndex (I... i) -> HybridMultiIndex< decltype(Impl::castToHybridSizeT(i))... > | |
| template<typename... I> | |
| Dune::HybridMultiIndex (std::tuple< I... >) -> HybridMultiIndex< I... > | |
| template<typename... T> | |
| constexpr auto | Dune::back (const HybridMultiIndex< T... > &tp) -> decltype(tp.back()) |
| Returns a copy of the last element of the HybridMultiIndex. | |
| template<typename... T> | |
| constexpr auto | Dune::front (const HybridMultiIndex< T... > &tp) -> decltype(tp.front()) |
| Returns a copy of the first element of the HybridMultiIndex. | |
| template<typename... T> | |
| constexpr HybridMultiIndex< T..., std::size_t > | Dune::push_back (const HybridMultiIndex< T... > &tp, std::size_t i) |
| Appends a run time index to a HybridMultiIndex. | |
| template<std::size_t i, typename... T> | |
| constexpr HybridMultiIndex< T..., index_constant< i > > | Dune::push_back (const HybridMultiIndex< T... > &tp, index_constant< i > iConstant={}) |
| Appends a compile time index to a HybridMultiIndex. | |
| template<typename... T> | |
| constexpr HybridMultiIndex< std::size_t, T... > | Dune::push_front (const HybridMultiIndex< T... > &tp, std::size_t i) |
| Prepends a run time index to a HybridMultiIndex. | |
| template<std::size_t i, typename... T> | |
| constexpr HybridMultiIndex< index_constant< i >, T... > | Dune::push_front (const HybridMultiIndex< T... > &tp, index_constant< i > iConstant={}) |
| Prepends a compile time index to a HybridMultiIndex. | |
| template<typename I, typename... T> requires (sizeof...(T) > 0) | |
| constexpr auto | Dune::accumulate_back (const HybridMultiIndex< T... > &tp, I i) |
| Hybrid utility that accumulates to the back of a multi-index. | |
| template<typename I, typename... T> requires (sizeof...(T) > 0) | |
| constexpr auto | Dune::accumulate_front (const HybridMultiIndex< T... > &tp, I i) |
| Hybrid utility that accumulates to the front of a multi-index. | |
| template<class... Head, class... Other> | |
| constexpr auto | Dune::join (const HybridMultiIndex< Head... > &head, const Other &... tail) |
| Join two hybrid multi-indices into one. | |
| template<class... T> | |
| constexpr auto | Dune::reverse (const HybridMultiIndex< T... > &tp) |
| Reverses the order of the elements in the multi-index. | |
| template<class... T> requires (sizeof...(T) > 0) | |
| constexpr auto | Dune::pop_front (const HybridMultiIndex< T... > &tp) |
| Removes first index on a HybridMultiIndex. | |
| template<class... T> requires (sizeof...(T) > 0) | |
| constexpr auto | Dune::pop_back (const HybridMultiIndex< T... > &tp) |
| Removes last index on a HybridMultiIndex. | |
| template<class... S, class... T> | |
| constexpr bool | Dune::operator== (const HybridMultiIndex< S... > &lhs, const HybridMultiIndex< T... > &rhs) |
| Compare two HybridMultiIndexs for value equality. | |
| template<class S, S... lhs, class T, T... rhs> | |
| constexpr auto | Dune::operator== (const HybridMultiIndex< std::integral_constant< S, lhs >... > &, const HybridMultiIndex< std::integral_constant< T, rhs >... > &) |
| Overload for purely static HybridMultiIndexs. | |
| template<class... S, class... T> | |
| constexpr auto | Dune::operator!= (const HybridMultiIndex< S... > &lhs, const HybridMultiIndex< T... > &rhs) |
| Compare two HybridMultiIndexs for inequality. | |
| template<class S, S... lhs, class T, T... rhs> | |
| constexpr auto | Dune::operator!= (const HybridMultiIndex< std::integral_constant< S, lhs >... > &, const HybridMultiIndex< std::integral_constant< T, rhs >... > &) |
| Compare two static HybridMultiIndexs for inequality. | |
| template<typename... T> | |
| std::ostream & | Dune::operator<< (std::ostream &os, const HybridMultiIndex< T... > &tp) |
| Dumps a HybridMultiIndex to a stream. | |