dune-typetree 2.11
Loading...
Searching...
No Matches
Dune::TypeTree::Detail Namespace Reference

Typedefs

template<class Tree>
using DynamicTraversalConcept
template<class Tree>
using StaticTraversalConcept

Functions

template<class T1, class T2, class TreePath, class V, std::enable_if_t<(std::decay_t< T1 >::isLeaf or std::decay_t< T2 >::isLeaf), int > = 0>
void applyToTreePair (T1 &&tree1, T2 &&tree2, TreePath treePath, V &&visitor)
template<class T1, class T2, class TreePath, class V, std::enable_if_t< not(std::decay_t< T1 >::isLeaf or std::decay_t< T2 >::isLeaf), int > = 0>
void applyToTreePair (T1 &&tree1, T2 &&tree2, TreePath treePath, V &&visitor)
template<class Tree, TreePathType::Type pathType, class Prefix, std::enable_if_t< Tree::isLeaf, int > = 0>
constexpr auto leafTreePathTuple (Prefix prefix)
template<class Tree, TreePathType::Type pathType, class Prefix, std::enable_if_t< not Tree::isLeaf, int > = 0>
constexpr auto leafTreePathTuple (Prefix prefix)
template<class Tree, TreePathType::Type pathType, class Prefix, std::size_t... indices, std::enable_if_t<(Tree::isComposite or(Tree::isPower and(pathType!=TreePathType::dynamic))), int > = 0>
constexpr auto leafTreePathTuple (Prefix prefix, std::index_sequence< indices... >)
template<class Tree, TreePathType::Type pathType, class Prefix, std::size_t... indices, std::enable_if_t<(Tree::isPower and(pathType==TreePathType::dynamic)), int > = 0>
constexpr auto leafTreePathTuple (Prefix prefix, std::index_sequence< indices... >)
template<class T, class TreePath, class V, std::enable_if_t< std::decay_t< T >::isLeaf, int > = 0>
void applyToTree (T &&tree, TreePath treePath, V &&visitor)
template<class T, class TreePath, class V, std::enable_if_t< not std::decay_t< T >::isLeaf, int > = 0>
void applyToTree (T &&tree, TreePath treePath, V &&visitor)

Typedef Documentation

◆ DynamicTraversalConcept

Initial value:
decltype((
std::declval<Tree>().degree(),
std::declval<Tree>().child(0u)
))

◆ StaticTraversalConcept

Initial value:
decltype((
std::integral_constant<std::size_t, Tree::degree()>{}
))

Function Documentation

◆ applyToTree() [1/2]

template<class T, class TreePath, class V, std::enable_if_t< not std::decay_t< T >::isLeaf, int > = 0>
void Dune::TypeTree::Detail::applyToTree ( T && tree,
TreePath treePath,
V && visitor )

◆ applyToTree() [2/2]

template<class T, class TreePath, class V, std::enable_if_t< std::decay_t< T >::isLeaf, int > = 0>
void Dune::TypeTree::Detail::applyToTree ( T && tree,
TreePath treePath,
V && visitor )

◆ applyToTreePair() [1/2]

template<class T1, class T2, class TreePath, class V, std::enable_if_t< not(std::decay_t< T1 >::isLeaf or std::decay_t< T2 >::isLeaf), int > = 0>
void Dune::TypeTree::Detail::applyToTreePair ( T1 && tree1,
T2 && tree2,
TreePath treePath,
V && visitor )

◆ applyToTreePair() [2/2]

template<class T1, class T2, class TreePath, class V, std::enable_if_t<(std::decay_t< T1 >::isLeaf or std::decay_t< T2 >::isLeaf), int > = 0>
void Dune::TypeTree::Detail::applyToTreePair ( T1 && tree1,
T2 && tree2,
TreePath treePath,
V && visitor )

◆ leafTreePathTuple() [1/4]

template<class Tree, TreePathType::Type pathType, class Prefix, std::enable_if_t< not Tree::isLeaf, int > = 0>
auto Dune::TypeTree::Detail::leafTreePathTuple ( Prefix prefix)
constexpr

◆ leafTreePathTuple() [2/4]

template<class Tree, TreePathType::Type pathType, class Prefix, std::enable_if_t< Tree::isLeaf, int > = 0>
auto Dune::TypeTree::Detail::leafTreePathTuple ( Prefix prefix)
constexpr

◆ leafTreePathTuple() [3/4]

template<class Tree, TreePathType::Type pathType, class Prefix, std::size_t... indices, std::enable_if_t<(Tree::isPower and(pathType==TreePathType::dynamic)), int > = 0>
auto Dune::TypeTree::Detail::leafTreePathTuple ( Prefix prefix,
std::index_sequence< indices... >  )
constexpr

◆ leafTreePathTuple() [4/4]

template<class Tree, TreePathType::Type pathType, class Prefix, std::size_t... indices, std::enable_if_t<(Tree::isComposite or(Tree::isPower and(pathType!=TreePathType::dynamic))), int > = 0>
auto Dune::TypeTree::Detail::leafTreePathTuple ( Prefix prefix,
std::index_sequence< indices... >  )
constexpr