Dune Core Modules (2.10.0)

Interface for nodes in a dune-typetree. More...

#include <dune/typetree/nodeinterface.hh>

Public Types

typedef ImplementationDefined NodeTag
 The type tag that describes what kind of node this is. More...
 
typedef ImplementationDefined NodeStorage
 container type to pass around a collection of children More...
 

Static Public Member Functions

static auto degree ()
 Number of children of this node in the dune-typetree. More...
 

Static Public Attributes

static const bool isLeaf = implementationDefined
 Whether this is a leaf node in a dune-typetree.
 
static const bool isPower = implementationDefined
 Whether this is a power node in the dune-typetree.
 
static const bool isComposite = implementationDefined
 Whether this is a composite node in the dune-typetree.
 

Detailed Description

Interface for nodes in a dune-typetree.

This class cannot be used itself, it is for documentation purposes only.

Note
Constructor signatures are explicitly not specified by this interface.
In addition, every node in a tree must be derived from one of the node base classes LeafNode, PowerNode, DynamicPowerNodeTag, or CompositeNode, or from a base class for a yet-to-be-defined new node type.

Member Typedef Documentation

◆ NodeStorage

container type to pass around a collection of children

Note
This typedef is not present for leaf nodes.

◆ NodeTag

The type tag that describes what kind of node this is.

One of LeafNodeTag, PowerNodeTag or CompositeNodeTag. Other tags are also possible when new kinds of nodes are defined.

Member Function Documentation

◆ degree()

static auto Dune::TypeTree::NodeInterface::degree ( )
static

Number of children of this node in the dune-typetree.

Note
Static as long as the the information is known at compilation time, otherwise non-static.
Returns
Dune::index_constant<k> if static, std::size_t otherwise

The documentation for this struct was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 26, 23:30, 2024)