Loading...
Searching...
No Matches
Nodes
dune-typetree
Collaboration diagram for Nodes:

## Namespaces

namespace | Dune::TypeTree

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

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

## ImplementationTag

template<typename T>

using Dune::TypeTree::ImplementationTag = typename std::decay_t<T>::ImplementationTag

Returns the implementation tag of the given Node.

## NodeTag

template<typename Node>

using Dune::TypeTree::NodeTag = typename std::decay_t<Node>::NodeTag

Returns the node tag of the given Node.

## StaticDegree

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.

Note
  If a node has a static number of children, it returns directly the degree as integral-constant.

## Function Documentation

## degree()

template<typename Node>

std::size_t Dune::TypeTree::degree | ( | const Node & | node | ) |

Returns the degree of node as run time information.