|
struct | AccumulateType |
| Statically accumulate a type over the nodes of a TypeTree. More...
|
|
struct | AccumulateValue |
| Statically accumulate a value over the nodes of a TypeTree. More...
|
|
struct | AdvancedFilter |
| Base class for advanced filters. More...
|
|
struct | AdvancedFilterTag |
| Tag describing an advanced filter that has full control over the construction of the list of FilterEntries. More...
|
|
struct | AlwaysVoid |
|
struct | and_ |
| Statically combine two values of type result_type using &&. More...
|
|
class | CompositeNode |
| Base class for composite nodes combining children of different types within a TypeTree. More...
|
|
struct | CompositeNodeTag |
| Tag designating a composite node. More...
|
|
struct | DefaultPairVisitor |
| Visitor interface and base class for visitors of pairs of TypeTrees. More...
|
|
struct | DefaultVisitor |
| Visitor interface and base class for TypeTree visitors. More...
|
|
struct | DirectChildrenPairVisitor |
| Convenience base class for visiting the direct children of a node pair. More...
|
|
struct | DirectChildrenVisitor |
| Convenience base class for visiting the direct children of a node. More...
|
|
class | DynamicChildAccessors |
| Mixin class providing methods for child access with run-time parameter. More...
|
|
struct | DynamicTraversal |
| Mixin base class for visitors that only need a dynamic TreePath during traversal. More...
|
|
class | DynamicTreePath |
| A TreePath that stores the path of a node as runtime information. More...
|
|
struct | EmptyNode |
| This is a marker to fill empty spaces in composite nodes if support for variadic templates is missing. More...
|
|
struct | EmptyNodeTag |
| Tag designating an empty child node in a non-variadic composite node. More...
|
|
struct | evaluate_if_meta_function |
| Meta function that evaluates its argument iff it inherits from meta_function. More...
|
|
class | Exception |
| Base class for all TypeTree exceptions. More...
|
|
struct | extract_child_type |
| Extract the type of the child of Node at position TreePath. More...
|
|
struct | filter |
| Adapter class that takes a SimpleFilter, validated it and turns it into an AdvancedFilter. More...
|
|
class | FilteredCompositeNode |
| Base class for composite nodes representing a filtered view on an underlying composite node. More...
|
|
struct | FilterEntry |
| A filter entry describing the mapping of one child in the filtered node. More...
|
|
struct | FilterResult |
| The result of a filter. More...
|
|
class | FixedCapacityStack |
|
class | FixedCapacityStackView |
|
struct | GenericCompositeNodeTransformation |
|
struct | GenericCompositeNodeTransformationTemplate |
|
struct | GenericLeafNodeTransformation |
|
struct | GenericPowerNodeTransformation |
|
struct | GenericPowerNodeTransformationTemplate |
|
struct | IndexFilter |
| Filter class for FilteredCompositeNode that selects the children with the given indices. More...
|
|
struct | lazy_evaluate |
| Helper meta function to delay evaluation of F. More...
|
|
struct | lazy_identity |
| Identity function. More...
|
|
class | LeafNode |
| Base class for leaf nodes in a dune-typetree. More...
|
|
struct | LeafNodeTag |
| Tag designating a leaf node. More...
|
|
struct | max |
| Statically combine two values of type result_type by returning their maximum. More...
|
|
struct | meta_function |
| Marker tag declaring a meta function. More...
|
|
struct | min |
| Statically combine two values of type result_type by returning their minimum. More...
|
|
struct | minus |
| Statically combine two values of type result_type using -. More...
|
|
struct | multiply |
| Statically combine two values of type result_type using *. More...
|
|
struct | NodeInterface |
| Interface for nodes in a dune-typetree. More...
|
|
struct | OptionalChild |
| Implementation Helper for constructors of composite nodes. More...
|
|
struct | or_ |
| Statically combine two values of type result_type using ||. More...
|
|
struct | plus |
| Statically combine two values of type result_type using +. More...
|
|
class | PowerNode |
| Collect k instances of type T within a dune-typetree. More...
|
|
struct | PowerNodeTag |
| Tag designating a power node. More...
|
|
class | ProxyNode |
| Base class for nodes acting as a proxy for an existing node. More...
|
|
struct | ProxyNodeBase |
| Tag-based dispatch to appropiate base class that provides necessary functionality. More...
|
|
struct | ProxyNodeBase< Node, CompositeNodeTag > |
| ProxyNode base class for CompositeNode. More...
|
|
struct | ProxyNodeBase< Node, LeafNodeTag > |
| ProxyNode base class for LeafNode. More...
|
|
struct | ProxyNodeBase< Node, PowerNodeTag > |
| ProxyNode base class for PowerNode. More...
|
|
struct | ProxyNodeBase< Node, VariadicCompositeNodeTag > |
| ProxyNode base class for VariadicCompositeNode. More...
|
|
struct | SimpleCompositeNodeTransformation |
|
struct | SimpleFilter |
| Default simple filter that accepts any node and leaves its child structure unchanged. More...
|
|
struct | SimpleFilterTag |
| Tag describing a simple filter that can only decide whether or not to include a single given child. More...
|
|
struct | SimpleLeafNodeTransformation |
|
struct | SimplePowerNodeTransformation |
|
class | StaticChildAccessors |
| Mixin class providing methods for child access with compile-time parameter. More...
|
|
struct | StaticTraversal |
| Mixin base class for visitors that require a static TreePath during traversal. More...
|
|
struct | TemplatizedGenericCompositeNodeTransformation |
|
struct | TemplatizedGenericPowerNodeTransformation |
|
struct | TransformTree |
| Transform a TypeTree. More...
|
|
struct | TreeInfo |
| Struct for obtaining some basic structural information about a TypeTree. More...
|
|
struct | TreePairVisitor |
| Convenience base class for visiting an entire tree pair. More...
|
|
struct | TreePath |
|
struct | TreePathBack |
|
struct | TreePathBack< TreePath< j, k, l...> > |
|
struct | TreePathBack< TreePath< k > > |
|
struct | TreePathConcat |
|
struct | TreePathConcat< TreePath< i...>, TreePath< k...> > |
|
struct | TreePathFront |
|
struct | TreePathFront< TreePath< k, i...> > |
|
struct | TreePathPopBack |
|
struct | TreePathPopBack< TreePath< j, k, l...>, i...> |
|
struct | TreePathPopBack< TreePath< k >, i...> |
|
struct | TreePathPopFront |
|
struct | TreePathPopFront< TreePath< k, i...> > |
|
struct | TreePathPushBack |
|
struct | TreePathPushBack< TreePath< i...>, k > |
|
struct | TreePathPushFront |
|
struct | TreePathPushFront< TreePath< i...>, k > |
|
struct | TreePathSize |
|
struct | TreePathSize< TreePath< i...> > |
|
struct | TreeVisitor |
| Convenience base class for visiting the entire tree. More...
|
|
struct | TypeAccumulationPolicy |
|
class | VariadicCompositeNode |
| Base class for composite nodes based on variadic templates. More...
|
|
struct | VariadicCompositeNodeTag |
| Tag designating a composite node that is based on variadic templates. More...
|
|
struct | VisitDirectChildren |
| Mixin base class for visitors that only want to visit the direct children of a node. More...
|
|
struct | VisitTree |
| Mixin base class for visitors that want to visit the complete tree. More...
|
|
|
template<typename Node , typename TreePath > |
ImplementationDefined & | extract_child (Node &node, Treepath tp) |
| Extract the child of a node located at tp (non-const version). More...
|
|
template<typename Node , typename TreePath > |
const ImplementationDefined & | extract_child (const Node &node, Treepath tp) |
| Extract the child of a node located at tp (const version). More...
|
|
template<typename Node , typename TreePath > |
ImplementationDefined | extract_child_storage (Node &node, Treepath tp) |
|
template<typename Node , typename TreePath > |
ImplementationDefined | extract_child_storage (const Node &node, Treepath tp) |
|
template<typename Tree1 , typename Tree2 , typename Visitor > |
void | applyToTreePair (Tree1 &&tree1, Tree2 &&tree2, Visitor &&visitor) |
| Apply visitor to a pair of TypeTrees. More...
|
|
template<typename SourceNode , typename Transformation , typename Tag > |
void | registerNodeTransformation (SourceNode *, Transformation *, Tag *) |
| Register transformation descriptor to transform SourceNode with Transformation. More...
|
|
template<typename Tree , typename Visitor > |
void | applyToTree (Tree &&tree, Visitor &&visitor) |
| Apply visitor to TypeTree. More...
|
|
template<typename ResultType , typename Tree , typename F , typename R > |
ResultType | reduceOverLeafs (const Tree &tree, F functor, R reduction, ResultType startValue) |
| Calculate a quantity as a reduction over the leaf nodes of a TypeTree. More...
|
|
template<std::size_t... i> |
void | print_tree_path (std::ostream &os) |
|
template<std::size_t k, std::size_t... i> |
void | print_tree_path (std::ostream &os) |
|
template<std::size_t... i> |
std::ostream & | operator<< (std::ostream &os, const TreePath< i...> &tp) |
|
template<typename T > |
T * | declptr () |
| Helper function for generating a pointer to a value of type T in an unevaluated operand setting. More...
|
|
const shared_ptr< EmptyNode > & | emptyNodePtr () |
| Reference to a pointer to an empty node that is used for all empty slots. More...
|
|