|
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<bool c, class T1 , class T2 , std::enable_if_t< c, int > = 0> |
constexpr auto | conditionalValue (T1 &&t1, T2 &&t2) |
|
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::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 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 Tree , class TreePath , class PreFunc , class LeafFunc , class PostFunc > |
void | forEachNode (Tree &&tree, TreePath treePath, PreFunc &&preFunc, LeafFunc &&leafFunc, PostFunc &&postFunc) |
|
template<class Container > |
auto | makeTreeContainerVectorBackend (Container &&container) |
|