DUNE PDELab (2.8)
product of identical functions More...
#include <dune/pdelab/common/function.hh>
Public Types | |
typedef T::GridViewType | GridViewType |
record the GridView | |
typedef PowerNodeTag | NodeTag |
The type tag that describes a PowerNode. | |
typedef T | ChildType |
The type of each child. | |
typedef std::array< std::shared_ptr< T >, k > | NodeStorage |
The type used for storing the children. | |
Public Member Functions | |
template<typename TT > | |
void | setTime (TT time) |
Set the time in all leaf nodes of this function tree. | |
PowerGridFunction (const std::array< std::shared_ptr< T >, k > &container) | |
Construct a new Power Grid Function object. More... | |
PowerGridFunction (T &t) | |
Construct a PowerGridFunction with k clones of the function t. | |
PowerGridFunction (T &t0, T &t1,...) | |
Initialize all children with different function objects. More... | |
Child Access (templated methods) | |
template<std::size_t i> | |
T & | child (index_constant< i >={}) |
Returns the i-th child. More... | |
template<std::size_t i> | |
const T & | child (index_constant< i >={}) const |
Returns the i-th child (const version). More... | |
template<std::size_t i> | |
std::shared_ptr< T > | childStorage (index_constant< i >={}) |
Returns the storage of the i-th child. More... | |
template<std::size_t i> | |
std::shared_ptr< const T > | childStorage (index_constant< i >={}) const |
Returns the storage of the i-th child (const version). More... | |
template<std::size_t i> | |
void | setChild (T &t, index_constant< i >={}) |
Sets the i-th child to the passed-in value. | |
template<std::size_t i> | |
void | setChild (T &&t, index_constant< i >={}) |
Store the passed value in i-th child. | |
template<std::size_t i> | |
void | setChild (std::shared_ptr< T > st, index_constant< i >={}) |
Sets the stored value representing the i-th child to the passed-in value. | |
Child Access (Dynamic methods) | |
T & | child (std::size_t i) |
Returns the i-th child. More... | |
const T & | child (std::size_t i) const |
Returns the i-th child (const version). More... | |
std::shared_ptr< T > | childStorage (std::size_t i) |
Returns the storage of the i-th child. More... | |
std::shared_ptr< const T > | childStorage (std::size_t i) const |
Returns the storage of the i-th child (const version). More... | |
void | setChild (std::size_t i, T &t) |
Sets the i-th child to the passed-in value. | |
void | setChild (std::size_t i, T &&t) |
Store the passed value in i-th child. | |
void | setChild (std::size_t i, std::shared_ptr< T > st) |
Sets the stored value representing the i-th child to the passed-in value. | |
const NodeStorage & | nodeStorage () const |
Nested Child Access | |
template<typename... Indices> | |
ImplementationDefined & | child (Indices... indices) |
Returns the child given by the list of indices. More... | |
template<typename... Indices> | |
const ImplementationDefined & | child (Indices... indices) |
Returns the child given by the list of indices. More... | |
Static Public Attributes | |
static const bool | isLeaf = false |
Mark this class as non leaf in the dune-typetree. | |
static const bool | isPower = true |
Mark this class as a power in the dune-typetree. | |
static const bool | isComposite = false |
Mark this class as a non composite in the dune-typetree. | |
static const std::size_t | CHILDREN = k |
The number of children. | |
Detailed Description
class Dune::PDELab::PowerGridFunction< T, k >
product of identical functions
This collects k instances of T in a GridFunctionTree.
- Template Parameters
-
T The type of the children of this node in the tree. k The number of children this node has.
Constructor & Destructor Documentation
◆ PowerGridFunction() [1/2]
|
inline |
◆ PowerGridFunction() [2/2]
|
inline |
Initialize all children with different function objects.
This constructor is only available in the non-specialized version
- Parameters
-
t Points to an array of pointers to function objects of type T. The function pointed to by the first pointer will be used to initialize the first child, the second pointer for the second child and so on.
Initialize all children with different function objects
Currently there exist specializations for 2 <= k <= 9. Each specialization has a constructor which takes the initializers for its children as arguments.
- Parameters
-
t0 The initializer for the first child. t1 The initializer for the second child. ... more initializers
Member Function Documentation
◆ child() [1/6]
|
inlineinherited |
Returns the i-th child.
- Returns
- a reference to the i-th child.
◆ child() [2/6]
|
inlineinherited |
Returns the i-th child (const version).
- Returns
- a const reference to the i-th child.
◆ child() [3/6]
|
inlineinherited |
Returns the child given by the list of indices.
This method simply forwards to the freestanding function child(). See that function for further information.
References Dune::TypeTree::child().
◆ child() [4/6]
|
inlineinherited |
Returns the child given by the list of indices.
This method simply forwards to the freestanding function child(). See that function for further information.
References Dune::TypeTree::child().
◆ child() [5/6]
|
inlineinherited |
Returns the i-th child.
- Returns
- a reference to the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ child() [6/6]
|
inlineinherited |
Returns the i-th child (const version).
- Returns
- a const reference to the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ childStorage() [1/4]
|
inlineinherited |
Returns the storage of the i-th child.
- Returns
- a copy of the object storing the i-th child.
◆ childStorage() [2/4]
|
inlineinherited |
Returns the storage of the i-th child (const version).
- Returns
- a copy of the object storing the i-th child.
◆ childStorage() [3/4]
|
inlineinherited |
Returns the storage of the i-th child.
- Returns
- a copy of the object storing the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
◆ childStorage() [4/4]
|
inlineinherited |
Returns the storage of the i-th child (const version).
- Returns
- a copy of the object storing the i-th child.
References Dune::TypeTree::PowerNode< T, k >::CHILDREN.
The documentation for this class was generated from the following file:
- dune/pdelab/common/function.hh
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)