A hybrid version of TreePath that supports both compile time and run time indices.
More...
|
constexpr | HybridTreePath () |
| Default constructor.
|
|
constexpr | HybridTreePath (const HybridTreePath &tp)=default |
|
constexpr | HybridTreePath (HybridTreePath &&tp)=default |
|
constexpr | HybridTreePath (std::tuple< T... > t) |
| Constructor from a std::tuple
|
|
template<typename... U, typename std::enable_if<(sizeof...(T) > 0 &&sizeof...(U)==sizeof...(T)), bool >::type = true> |
constexpr | HybridTreePath (U... t) |
| Constructor from arguments.
|
|
template<std::size_t i> |
constexpr auto | operator[] (Dune::index_constant< i > pos) 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> |
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.
|
|
auto | back () const |
| Get the last index value.
|
|
template<typename... T>
class Dune::TypeTree::HybridTreePath< T >
A hybrid version of TreePath that supports both compile time and run time indices.
A HybridTreePath
supports storing a combination of run time and compile time indices. This makes it possible to store the tree path to a tree node inside the tree node itself, even if the path contains one or more PowerNode
s, where each child must have exactly the same type. At the same time, as much information as possible is kept accessible at compile time, allowing for more efficient algorithms.