Dune Core Modules (2.8.0)

Dune::TypeTree::NodeInterface Struct Reference

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 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.
 
static const std::size_t CHILDREN = implementationDefined
 Number of children of this node in the dune-typetree. More...
 

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 Data Documentation

◆ CHILDREN

const std::size_t Dune::TypeTree::NodeInterface::CHILDREN = implementationDefined
static

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

Note
Might not be implemented for nodes with dynamic size. Use the function node.degree() or degree(node) instead.

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 (Nov 21, 23:30, 2024)