Dune Core Modules (2.9.0)

Classes

class  Dune::TypeTree::CompositeNode< Children >
 Base class for composite nodes based on variadic templates. More...
 
class  Dune::TypeTree::DynamicPowerNode< T >
 Collect multiple instances of type T within a dune-typetree. More...
 
class  Dune::TypeTree::FilteredCompositeNode< Node, Filter >
 Base class for composite nodes representing a filtered view on an underlying composite node. More...
 
struct  Dune::TypeTree::FilterEntry< new_k, old_k >
 A filter entry describing the mapping of one child in the filtered node. More...
 
struct  Dune::TypeTree::FilterResult< FilterEntries >
 The result of a filter. More...
 
struct  Dune::TypeTree::SimpleFilterTag
 Tag describing a simple filter that can only decide whether or not to include a single given child. More...
 
struct  Dune::TypeTree::AdvancedFilterTag
 Tag describing an advanced filter that has full control over the construction of the list of FilterEntries. More...
 
struct  Dune::TypeTree::AdvancedFilter
 Base class for advanced filters. More...
 
struct  Dune::TypeTree::SimpleFilter
 Default simple filter that accepts any node and leaves its child structure unchanged. More...
 
struct  Dune::TypeTree::IndexFilter< indices >
 Filter class for FilteredCompositeNode that selects the children with the given indices. More...
 
struct  Dune::TypeTree::filter< Filter >
 Adapter class that takes a SimpleFilter, validated it and turns it into an AdvancedFilter. More...
 
class  Dune::TypeTree::LeafNode
 Base class for leaf nodes in a dune-typetree. More...
 
struct  Dune::TypeTree::NodeInterface
 Interface for nodes in a dune-typetree. More...
 
struct  Dune::TypeTree::LeafNodeTag
 Tag designating a leaf node. More...
 
struct  Dune::TypeTree::PowerNodeTag
 Tag designating a power node. More...
 
struct  Dune::TypeTree::DynamicPowerNodeTag
 Tag designating a power node with runtime degree. More...
 
struct  Dune::TypeTree::CompositeNodeTag
 Tag designating a composite node. More...
 
class  Dune::TypeTree::PowerNode< T, k >
 Collect k instances of type T within a dune-typetree. More...
 
class  Dune::TypeTree::ProxyNode< Node >
 Base class for nodes acting as a proxy for an existing node. More...
 
class  Dune::TypeTree::StaticChildAccessors< ProxiedNode >
 Mixin class providing methods for child access with compile-time parameter. More...
 
class  Dune::TypeTree::DynamicChildAccessors< ProxiedNode >
 Mixin class providing methods for child access with run-time parameter. More...
 
struct  Dune::TypeTree::ProxyNodeBase< Node, NodeTag >
 Tag-based dispatch to appropriate base class that provides necessary functionality. More...
 
struct  Dune::TypeTree::ProxyNodeBase< Node, LeafNodeTag >
 ProxyNode base class for LeafNode. More...
 
struct  Dune::TypeTree::ProxyNodeBase< Node, CompositeNodeTag >
 ProxyNode base class for CompositeNode. More...
 
struct  Dune::TypeTree::ProxyNodeBase< Node, PowerNodeTag >
 ProxyNode base class for PowerNode. More...
 
struct  Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag >
 ProxyNode base class for DynamicPowerNode. More...
 

Typedefs

template<typename Node >
using Dune::TypeTree::NodeTag = typename std::decay_t< Node >::NodeTag
 Returns the node tag of the given Node.
 
template<typename T >
using Dune::TypeTree::ImplementationTag = typename std::decay_t< T >::ImplementationTag
 Returns the implementation tag of the given Node.
 
template<typename Node >
using Dune::TypeTree::StaticDegree = decltype(Node::degree())
 Returns the statically known degree of the given Node type as a std::integral_constant. More...
 

Functions

template<typename Node >
std::size_t Dune::TypeTree::degree (const Node &node)
 Returns the degree of node as run time information.
 

Detailed Description

Typedef Documentation

◆ StaticDegree

template<typename Node >
using Dune::TypeTree::StaticDegree = typedef decltype(Node::degree())

Returns the statically known degree of the given Node type as a std::integral_constant.

Note
If a node has a static number of children, it returns directly the degree as integral-constant.
Creative Commons License   |  Legal Statements / Impressum  |  generated with Hugo v0.80.0 (Mar 19, 23:30, 2023)