dune-typetree
2.6-rc1
|
![]() |
Typedefs | |
template<typename Node , std::size_t... indices> | |
using | Dune::TypeTree::Child = typename impl::_Child< Node, indices... >::type |
Template alias for the type of a child node given by a list of child indices. More... | |
template<typename Node , typename TreePath > | |
using | Dune::TypeTree::ChildForTreePath = typename impl::_ChildForTreePath< Node, TreePath >::type |
Template alias for the type of a child node given by a TreePath or a HybridTreePath type. More... | |
template<typename T > | |
using | Dune::TypeTree::is_flat_index = typename impl::_is_flat_index< std::decay_t< T > >::type |
Type trait that determines whether T is a flat index in the context of child extraction. More... | |
Functions | |
template<typename Node , typename... Indices> | |
ImplementationDefined | Dune::TypeTree::child (Node &&node, Indices... indices) |
Extracts the child of a node given by a sequence of compile-time and run-time indices. More... | |
template<typename Node , std::size_t... Indices> | |
ImplementationDefined | Dune::TypeTree::child (Node &&node, TreePath< Indices... > treePath) |
Extracts the child of a node given by a static TreePath object. More... | |
template<typename Node , std::size_t... Indices> | |
ImplementationDefined | Dune::TypeTree::childStorage (Node &&node, TreePath< Indices... > treePath) |
template<typename Node , typename... Indices> | |
ImplementationDefined | Dune::TypeTree::child (Node &&node, HybridTreePath< Indices... > treePath) |
Extracts the child of a node given by a HybridTreePath object. More... | |
Utility functions and metafunctions for extracting children from a TypeTree.
using Dune::TypeTree::Child = typedef typename impl::_Child<Node,indices...>::type |
Template alias for the type of a child node given by a list of child indices.
This template alias is implemented in terms of the free-standing child() functions and uses those in combination with decltype() to extract the child type.
Node | The type of the parent node. |
indices | A list of index values the describes the path to the wanted child. |
using Dune::TypeTree::ChildForTreePath = typedef typename impl::_ChildForTreePath<Node,TreePath>::type |
Template alias for the type of a child node given by a TreePath or a HybridTreePath type.
This template alias is implemented in terms of the free-standing child() functions and uses those in combination with decltype() to extract the child type. It supports both TreePath and HybridTreePath.
Node | The type of the parent node. |
TreePath | The type of a TreePath or a HybridTreePath that describes the path to the wanted child. |
using Dune::TypeTree::is_flat_index = typedef typename impl::_is_flat_index<std::decay_t<T> >::type |
Type trait that determines whether T is a flat index in the context of child extraction.
ImplementationDefined Dune::TypeTree::child | ( | Node && | node, |
Indices... | indices | ||
) |
Extracts the child of a node given by a sequence of compile-time and run-time indices.
Use this function to extract a (possibly indirect) child of a TypeTree node.
Example:
returns the second child of the first child of the third child of the fifth child of node, where some child lookups were done using a compile-time index and some using a run-time index.
node | The node from which to extract the child. |
indices... | A list of indices that describes the path into the tree to the wanted child. These parameters can be a combination of run time indices (for tree nodes that allow accessing their children using run time information, like PowerNode) and instances of index_constant, which work for all types of inner nodes. |
ImplementationDefined Dune::TypeTree::child | ( | Node && | node, |
TreePath< Indices... > | treePath | ||
) |
Extracts the child of a node given by a static TreePath object.
Use this function to extract a (possibly indirect) child of a TypeTree node.
Example:
returns the second child of the first child of the third child of the fifth child of node.
node | The node from which to extract the child. |
treePath | A TreePath object that describes the path into the tree to the wanted child. |
ImplementationDefined Dune::TypeTree::child | ( | Node && | node, |
HybridTreePath< Indices... > | treePath | ||
) |
Extracts the child of a node given by a HybridTreePath object.
Use this function to extract a (possibly indirect) child of a TypeTree node.
Example:
returns the second child of the first child of the third child of the fifth child of node, where some child lookups were done using a compile-time index and some using a run-time index.
node | The node from which to extract the child. |
tree{ath | A HybridTreePath that describes the path into the tree to the wanted child. This tree path object can be a combination of run time indices (for tree nodes that allow accessing their children using run time information, like PowerNode) and instances of index_constant, which work for all types of inner nodes. |
ImplementationDefined Dune::TypeTree::childStorage | ( | Node && | node, |
TreePath< Indices... > | treePath | ||
) |