Dune Core Modules (2.10.0)
visitor.hh
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
231 template<typename T1, typename Child1, typename T2, typename Child2, typename TreePath, typename ChildIndex>
247 template<typename T1, typename Child1, typename T2, typename Child2, typename TreePath, typename ChildIndex>
539 constexpr bool isDynamic = std::is_same<std::size_t, decltype(leafCount(std::declval<Tree>()))>{};
constexpr index_constant< 0 > _0
Compile time index with value 0.
Definition: indices.hh:52
constexpr index_constant< 1 > _1
Compile time index with value 1.
Definition: indices.hh:55
std::integral_constant< std::size_t, i > index_constant
An index constant with value i.
Definition: indices.hh:29
constexpr auto max
Function object that returns the greater of the given values.
Definition: hybridutilities.hh:484
constexpr auto plus
Function object for performing addition.
Definition: hybridutilities.hh:528
constexpr std::size_t treePathSize(const HybridTreePath< T... > &)
Returns the size (number of components) of the given HybridTreePath.
Definition: treepath.hh:334
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:225
Visitor interface and base class for visitors of pairs of TypeTrees.
Definition: visitor.hh:164
void leaf(T1 &&, T2 &&, TreePath) const
Method for leaf traversal.
Definition: visitor.hh:216
void beforeChild(T1 &&, Child1 &&, T2 &&, Child2 &&, TreePath, ChildIndex) const
Method for parent-child traversal.
Definition: visitor.hh:232
void pre(T1 &&, T2 &&, TreePath) const
Method for prefix tree traversal.
Definition: visitor.hh:176
void post(T1 &&, T2 &&, TreePath) const
Method for postfix traversal.
Definition: visitor.hh:201
void in(T1 &&, T2 &&, TreePath) const
Method for infix tree traversal.
Definition: visitor.hh:189
void afterChild(T1 &&, Child1 &&, T2 &&, Child2 &&, TreePath, ChildIndex) const
Method for child-parent traversal.
Definition: visitor.hh:248
Visitor interface and base class for TypeTree visitors.
Definition: visitor.hh:49
void in(T &&, TreePath) const
Method for infix tree traversal.
Definition: visitor.hh:72
void afterChild(T &&, Child &&, TreePath, ChildIndex) const
Method for child-parent traversal.
Definition: visitor.hh:122
void beforeChild(T &&, Child &&, TreePath, ChildIndex) const
Method for parent-child traversal.
Definition: visitor.hh:107
void post(T &&, TreePath) const
Method for postfix tree traversal.
Definition: visitor.hh:83
void leaf(T &&, TreePath) const
Method for leaf traversal.
Definition: visitor.hh:93
void pre(T &&, TreePath) const
Method for prefix tree traversal.
Definition: visitor.hh:60
Convenience base class for visiting the direct children of a node pair.
Definition: visitor.hh:453
Convenience base class for visiting the direct children of a node.
Definition: visitor.hh:441
Mixin base class for visitors that only need a dynamic TreePath during traversal.
Definition: visitor.hh:426
static const TreePathType::Type treePathType
Use the dynamic tree traversal algorithm.
Definition: visitor.hh:428
Hybrid visitor interface and base class for TypeTree hybrid visitors.
Definition: visitor.hh:286
auto post(T &&, TreePath, const U &u) const
Method for postfix tree traversal.
Definition: visitor.hh:316
auto pre(T &&, TreePath, const U &u) const
Method for prefix tree traversal.
Definition: visitor.hh:296
auto leaf(T &&, TreePath, const U &u) const
Method for leaf traversal.
Definition: visitor.hh:326
auto afterChild(T &&, Child &&, TreePath, ChildIndex, const U &u) const
Method for child-parent traversal.
Definition: visitor.hh:346
auto in(T &&, TreePath, const U &u) const
Method for infix tree traversal.
Definition: visitor.hh:306
auto beforeChild(T &&, Child &&, TreePath, ChildIndex, const U &u) const
Method for parent-child traversal.
Definition: visitor.hh:336
Mixin base class for visitors that require a static TreePath during traversal.
Definition: visitor.hh:412
static const TreePathType::Type treePathType
Use the static tree traversal algorithm.
Definition: visitor.hh:414
Convenience base class for visiting an entire tree pair.
Definition: visitor.hh:447
Convenience base class for visiting the entire tree.
Definition: visitor.hh:435
Template struct for determining whether or not to visit a given child.
Definition: visitor.hh:370
static const bool value
Do not visit any child.
Definition: visitor.hh:372
Mixin base class for visitors that only want to visit the direct children of a node.
Definition: visitor.hh:358
Template struct for determining whether or not to visit a given child.
Definition: visitor.hh:396
static const bool value
Visit any child.
Definition: visitor.hh:398
Mixin base class for visitors that want to visit the complete tree.
Definition: visitor.hh:384
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 27, 23:30, 2024)