DUNE PDELab (2.7)
powernode.hh
270 // * the first argument is not a valid flat index, i.e. either a std::size_t or an index_constant.
275 // We have to do a lazy lookup of the return type after SFINAE has succeeded, otherwise the return
293 "You cannot use the member function child() with an empty TreePath, use the freestanding version child(node,treePath) instead."
313 "You cannot use the member function child() with an empty TreePath, use the freestanding version child(node,treePath) instead."
371 static_assert(CHILDREN == sizeof...(Children), "PowerNode constructor is called with incorrect number of children");
381 static_assert(CHILDREN == sizeof...(Children), "PowerNode constructor is called with incorrect number of children");
Collect k instances of type T within a dune-typetree.
Definition: powernode.hh:50
void setChild(T &t, index_constant< i >={})
Sets the i-th child to the passed-in value.
Definition: powernode.hh:159
ChildStorageType childStorage(std::size_t i)
Returns the storage of the i-th child.
Definition: powernode.hh:211
T & child(std::size_t i)
Returns the i-th child.
Definition: powernode.hh:191
const T & child(index_constant< i >={}) const
Returns the i-th child (const version).
Definition: powernode.hh:126
PowerNode(T &t1, T &t2,...)
Initialize all children with the passed-in objects.
Definition: powernode.hh:360
ChildConstStorageType childStorage(std::size_t i) const
Returns the storage of the i-th child (const version).
Definition: powernode.hh:224
void setChild(std::size_t i, ChildStorageType st)
Sets the stored value representing the i-th child to the passed-in value.
Definition: powernode.hh:245
PowerNode(T &t, bool distinct_objects=true)
Initialize all children with copies of a storage object constructed from the parameter t.
Definition: powernode.hh:343
PowerNodeTag NodeTag
The type tag that describes a PowerNode.
Definition: powernode.hh:72
const T & child(std::size_t i) const
Returns the i-th child (const version).
Definition: powernode.hh:201
std::array< ChildStorageType, k > NodeStorage
The type used for storing the children.
Definition: powernode.hh:84
static const std::size_t CHILDREN
The number of children.
Definition: powernode.hh:64
static const bool isComposite
Mark this class as a non composite in the dune-typetree.
Definition: powernode.hh:61
std::shared_ptr< T > ChildStorageType
The storage type of each child.
Definition: powernode.hh:78
static const bool isLeaf
Mark this class as non leaf in the dune-typetree.
Definition: powernode.hh:55
static const bool isPower
Mark this class as a power in the dune-typetree.
Definition: powernode.hh:58
void setChild(ChildStorageType st, index_constant< i >={})
Sets the stored value representing the i-th child to the passed-in value.
Definition: powernode.hh:175
PowerNode(const NodeStorage &children)
Initialize the PowerNode with a copy of the passed-in storage type.
Definition: powernode.hh:338
T & child(index_constant< i >={})
Returns the i-th child.
Definition: powernode.hh:115
ChildConstStorageType childStorage(index_constant< i >={}) const
Returns the storage of the i-th child (const version).
Definition: powernode.hh:151
ImplementationDefined & child(Indices... indices)
Returns the child given by the list of indices.
Definition: powernode.hh:285
void setChild(std::size_t i, T &&t)
Store the passed value in i-th child.
Definition: powernode.hh:238
void setChild(T &&t, index_constant< i >={})
Store the passed value in i-th child.
Definition: powernode.hh:167
ChildStorageType childStorage(index_constant< i >={})
Returns the storage of the i-th child.
Definition: powernode.hh:137
std::shared_ptr< const T > ChildConstStorageType
The const version of the storage type of each child.
Definition: powernode.hh:81
const ImplementationDefined & child(Indices... indices)
Returns the child given by the list of indices.
Definition: powernode.hh:305
void setChild(std::size_t i, T &t)
Sets the i-th child to the passed-in value.
Definition: powernode.hh:231
Traits for type conversions and type information.
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:179
Namespace with predefined compile time indices for the range [0,19].
Definition: indices.hh:49
shared_ptr< T > stackobject_to_shared_ptr(T &t)
Create a shared_ptr for a stack-allocated object.
Definition: shared_ptr.hh:75
Dummy struct used for documentation purposes.
Definition: documentation.hh:40
forms the logical conjunction of the type traits B...
Definition: type_traits.hh:445
Access to the type and storage type of the i-th child.
Definition: powernode.hh:90
ChildStorageType Storage
The storage type of the child.
Definition: powernode.hh:101
ChildConstStorageType ConstStorage
The const storage type of the child.
Definition: powernode.hh:104
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Jul 15, 22:36, 2024)