|
dune-typetree 2.8.0
|
Loading...
Searching...
No Matches
compositenode.hh
Go to the documentation of this file.
152 // * the first argument is not a valid flat index, i.e. either a std::size_t or an index_constant.
157 // We have to do a lazy lookup of the return type after SFINAE has succeeded, otherwise the return
219 template<typename... Args, typename = typename std::enable_if<(sizeof...(Args) == CHILDREN)>::type>
ImplementationDefined child(Node &&node, Indices... indices)
Extracts the child of a node given by a sequence of compile-time and run-time indices.
Definition childextraction.hh:126
STL namespace.
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
Base class for composite nodes based on variadic templates.
Definition compositenode.hh:26
CompositeNode(Args &&... args)
Initialize all children with the passed-in objects.
Definition compositenode.hh:220
static const bool isLeaf
Mark this class as non leaf in the dune-typetree.
Definition compositenode.hh:40
ImplementationDefined & child(Indices... indices)
Returns the child given by the list of indices.
Definition compositenode.hh:167
static const bool isComposite
Mark this class as a composite in the dune-typetree.
Definition compositenode.hh:46
static const std::size_t CHILDREN
The number of children.
Definition compositenode.hh:49
CompositeNode()
Default constructor.
Definition compositenode.hh:215
CompositeNodeTag NodeTag
The type tag that describes a CompositeNode.
Definition compositenode.hh:31
void setChild(typename Child< k >::Type &child, index_constant< k >={})
Sets the k-th child to the passed-in value.
Definition compositenode.hh:114
void setChild(typename Child< k >::Type &&child, index_constant< k >={})
Store the passed value in k-th child.
Definition compositenode.hh:121
const NodeStorage & nodeStorage() const
Definition compositenode.hh:133
CompositeNode(std::shared_ptr< Children >... children)
Initialize the CompositeNode with copies of the passed in Storage objects.
Definition compositenode.hh:225
std::shared_ptr< typename Child< k >::Type > childStorage(index_constant< k >={})
Returns the storage of the k-th child.
Definition compositenode.hh:97
std::tuple< Children... > ChildTypes
A tuple storing the types of all children.
Definition compositenode.hh:37
void setChild(std::shared_ptr< typename Child< k >::Type > child, index_constant< k >={})
Sets the storage of the k-th child to the passed-in value.
Definition compositenode.hh:128
const ImplementationDefined & child(Indices... indices)
Returns the child given by the list of indices.
Definition compositenode.hh:187
static const bool isPower
Mark this class as a non power in the dune-typetree.
Definition compositenode.hh:43
std::shared_ptr< const typename Child< k >::Type > childStorage(index_constant< k >={}) const
Returns the storage of the k-th child (const version).
Definition compositenode.hh:107
Child< k >::Type & child(index_constant< k >={})
Returns the k-th child.
Definition compositenode.hh:77
CompositeNode(const NodeStorage &children)
Initialize the CompositeNode with a copy of the passed-in storage type.
Definition compositenode.hh:230
std::tuple< std::shared_ptr< Children >... > NodeStorage
The type used for storing the children.
Definition compositenode.hh:34
const Child< k >::Type & child(index_constant< k >={}) const
Returns the k-th child (const version).
Definition compositenode.hh:87
Access to the type and storage type of the i-th child.
Definition compositenode.hh:58
std::tuple_element< k, ChildTypes >::type Type
The type of the child.
Definition compositenode.hh:63
std::tuple_element< k, ChildTypes >::type type
The type of the child.
Definition compositenode.hh:66
T reduce(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8