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

## 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

template<class Tree>

using Dune::TypeTree::Detail::DynamicTraversalConcept

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

## StaticTraversalConcept

template<class Tree>

using Dune::TypeTree::Detail::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