dune-typetree
2.5-dev
|
Base class for composite nodes representing a filtered view on an underlying composite node. More...
#include <dune/typetree/filteredcompositenode.hh>
Classes | |
struct | Child |
Access to the type and storage type of the i-th child. More... | |
Public Types | |
typedef CompositeNodeTag | NodeTag |
The type tag that describes a CompositeNode. More... | |
typedef mapped_children::NodeStorage | NodeStorage |
The type used for storing the children. More... | |
typedef mapped_children::ChildTypes | ChildTypes |
A tuple storing the types of all children. More... | |
Public Member Functions | |
Child Access | |
template<std::size_t k> | |
std::enable_if< lazy_enable< k >::value, typename Child< k >::Type & >::type | child () |
Returns the i-th child. More... | |
template<std::size_t k> | |
const Child< k >::Type & | child () const |
Returns the i-th child (const version). More... | |
template<std::size_t k> | |
std::enable_if< lazy_enable< k >::value, typename Child< k >::Storage >::type | childStorage () |
Returns the storage of the i-th child. More... | |
template<std::size_t k> | |
Child< k >::ConstStorage | childStorage () const |
Returns the storage of the i-th child (const version). More... | |
template<std::size_t k> | |
void | setChild (typename Child< k >::type &child, typename std::enable_if< lazy_enable< k >::value, void *>::type=0) |
Sets the i-th child to the passed-in value. More... | |
template<std::size_t k> | |
void | setChild (typename Child< k >::storage_type child, typename std::enable_if< lazy_enable< k >::value, void *>::type=0) |
Sets the storage of the i-th child to the passed-in value. More... | |
Constructors | |
FilteredCompositeNode (std::shared_ptr< Node > node) | |
Initialize the CompositeNode with copies of the passed in Storage objects. More... | |
FilteredCompositeNode (Node &node) | |
Initialize the CompositeNode with a copy of the passed-in storage type. More... | |
Static Public Member Functions | |
static constexpr std::size_t | degree () |
Static Public Attributes | |
static const bool | isLeaf = false |
Mark this class as non leaf in the dune-typetree. More... | |
static const bool | isPower = false |
Mark this class as a non power in the dune-typetree. More... | |
static const bool | isComposite = true |
Mark this class as a composite in the dune-typetree. More... | |
static const std::size_t | CHILDREN = filter_result::size |
The number of children. More... | |
Protected Member Functions | |
Access to unfiltered node | |
template<bool enabled = !nodeIsConst> | |
std::enable_if< enabled, Node & >::type | unfiltered () |
Returns the unfiltered node. More... | |
const Node & | unfiltered () const |
Returns the unfiltered node (const version). More... | |
template<bool enabled = !nodeIsConst> | |
std::enable_if< enabled, std::shared_ptr< Node > >::type | unfilteredStorage () |
Returns the storage object of the unfiltered node. More... | |
std::shared_ptr< const Node > | unfilteredStorage () const |
Returns the storage object of the unfiltered node (const version). More... | |
Base class for composite nodes representing a filtered view on an underlying composite node.
typedef mapped_children::ChildTypes Dune::TypeTree::FilteredCompositeNode< Node, Filter >::ChildTypes |
A tuple storing the types of all children.
typedef mapped_children::NodeStorage Dune::TypeTree::FilteredCompositeNode< Node, Filter >::NodeStorage |
The type used for storing the children.
typedef CompositeNodeTag Dune::TypeTree::FilteredCompositeNode< Node, Filter >::NodeTag |
The type tag that describes a CompositeNode.
|
inline |
Initialize the CompositeNode with copies of the passed in Storage objects.
|
inline |
Initialize the CompositeNode with a copy of the passed-in storage type.
|
inline |
Returns the i-th child.
|
inline |
Returns the i-th child (const version).
|
inline |
Returns the storage of the i-th child.
|
inline |
Returns the storage of the i-th child (const version).
This method is only important if the child is stored as some kind of pointer, as this allows the pointee type to become const.
|
inlinestatic |
|
inline |
Sets the i-th child to the passed-in value.
|
inline |
Sets the storage of the i-th child to the passed-in value.
|
inlineprotected |
Returns the unfiltered node.
|
inlineprotected |
Returns the unfiltered node (const version).
|
inlineprotected |
Returns the storage object of the unfiltered node.
|
inlineprotected |
Returns the storage object of the unfiltered node (const version).
|
static |
The number of children.
|
static |
Mark this class as a composite in the dune-typetree.
|
static |
Mark this class as non leaf in the dune-typetree.
|
static |
Mark this class as a non power in the dune-typetree.