dune-typetree  2.3.1
Namespaces | Classes | Functions
Dune::TypeTree Namespace Reference

Namespaces

 TreePathType
 

Classes

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

Functions

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

Function Documentation

template<typename T >
T* Dune::TypeTree::declptr ( )

Helper function for generating a pointer to a value of type T in an unevaluated operand setting.