4 #ifndef DUNE_TYPETREE_VISITOR_HH 5 #define DUNE_TYPETREE_VISITOR_HH 56 template<
typename T,
typename TreePath>
68 template<
typename T,
typename TreePath>
79 template<
typename T,
typename TreePath>
89 template<
typename T,
typename TreePath>
103 template<
typename T,
typename Child,
typename TreePath,
typename ChildIndex>
118 template<
typename T,
typename Child,
typename TreePath,
typename ChildIndex>
172 template<
typename T1,
typename T2,
typename TreePath>
185 template<
typename T1,
typename T2,
typename TreePath>
197 template<
typename T1,
typename T2,
typename TreePath>
212 template<
typename T1,
typename T2,
typename TreePath>
228 template<
typename T1,
typename Child1,
typename T2,
typename Child2,
typename TreePath,
typename ChildIndex>
229 void beforeChild(T1&& t1, Child1&& child1, T2&& t2, Child2&& child2,
TreePath treePath, ChildIndex childIndex)
const {}
244 template<
typename T1,
typename Child1,
typename T2,
typename Child2,
typename TreePath,
typename ChildIndex>
245 void afterChild(T1&& t1, Child1&& child1, T2&& t2, Child2&& child2,
TreePath treePath, ChildIndex childIndex)
const {}
262 template<
typename Node1,
265 typename Child2 = void,
270 static const bool value =
false;
288 template<
typename Node1,
291 typename Child2 = void,
296 static const bool value =
true;
358 #endif // DUNE_TYPETREE_VISITOR_HH void leaf(T1 &&t1, T2 &&t2, TreePath treePath) const
Method for leaf traversal.
Definition: visitor.hh:213
Convenience base class for visiting the direct children of a node.
Definition: visitor.hh:336
ImplementationDefined child(Node &&node, Indices... indices)
Extracts the child of a node given by a sequence of compile-time and run-time indices.
Definition: childextraction.hh:179
Mixin base class for visitors that require a static TreePath during traversal.
Definition: visitor.hh:309
Definition: treepath.hh:26
Template struct for determining whether or not to visit a given child.
Definition: visitor.hh:267
Definition: treepath.hh:26
static const TreePathType::Type treePathType
Definition: traversalutilities.hh:30
Convenience base class for visiting the entire tree.
Definition: visitor.hh:330
Type
Definition: treepath.hh:26
typename impl::_Child< Node, indices... >::type Child
Template alias for the type of a child node given by a list of child indices.
Definition: childextraction.hh:307
void in(T &&t, TreePath treePath) const
Method for infix tree traversal.
Definition: visitor.hh:69
Definition: accumulate_static.hh:13
Convenience base class for visiting an entire tree pair.
Definition: visitor.hh:342
void post(T &&t, TreePath treePath) const
Method for postfix tree traversal.
Definition: visitor.hh:80
void leaf(T &&t, TreePath treePath) const
Method for leaf traversal.
Definition: visitor.hh:90
void pre(T1 &&t1, T2 &&t2, TreePath treePath) const
Method for prefix tree traversal.
Definition: visitor.hh:173
Visitor interface and base class for TypeTree visitors.
Definition: visitor.hh:45
void afterChild(T1 &&t1, Child1 &&child1, T2 &&t2, Child2 &&child2, TreePath treePath, ChildIndex childIndex) const
Method for child-parent traversal.
Definition: visitor.hh:245
void beforeChild(T1 &&t1, Child1 &&child1, T2 &&t2, Child2 &&child2, TreePath treePath, ChildIndex childIndex) const
Method for parent-child traversal.
Definition: visitor.hh:229
void in(T1 &&t1, T2 &&t2, TreePath treePath) const
Method for infix tree traversal.
Definition: visitor.hh:186
Template struct for determining whether or not to visit a given child.
Definition: visitor.hh:293
Convenience base class for visiting the direct children of a node pair.
Definition: visitor.hh:348
void pre(T &&t, TreePath treePath) const
Method for prefix tree traversal.
Definition: visitor.hh:57
Mixin base class for visitors that only want to visit the direct children of a node.
Definition: visitor.hh:255
void post(T1 &&t1, T2 &&t2, TreePath treePath) const
Method for postfix traversal.
Definition: visitor.hh:198
void beforeChild(T &&t, Child &&child, TreePath treePath, ChildIndex childIndex) const
Method for parent-child traversal.
Definition: visitor.hh:104
Mixin base class for visitors that only need a dynamic TreePath during traversal. ...
Definition: visitor.hh:323
Mixin base class for visitors that want to visit the complete tree.
Definition: visitor.hh:281
Definition: treepath.hh:30
Visitor interface and base class for visitors of pairs of TypeTrees.
Definition: visitor.hh:160
void afterChild(T &&t, Child &&child, TreePath treePath, ChildIndex childIndex) const
Method for child-parent traversal.
Definition: visitor.hh:119