dune-typetree 2.8.0
|
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. | |
typedef mapped_children::NodeStorage | NodeStorage |
The type used for storing the children. | |
typedef mapped_children::ChildTypes | ChildTypes |
A tuple storing the types of all children. | |
Public Member Functions | |
Child Access | |
template<std::size_t k, typename std::enable_if< lazy_enable< k >::value, int >::type = 0> | |
auto & | child (index_constant< k >={}) |
Returns the k-th child. | |
template<std::size_t k> | |
const auto & | child (index_constant< k >={}) const |
Returns the k-th child (const version). | |
template<std::size_t k, typename std::enable_if< lazy_enable< k >::value, int >::type = 0> | |
auto | childStorage (index_constant< k >={}) |
Returns the storage of the k-th child. | |
template<std::size_t k> | |
auto | childStorage (index_constant< k >={}) const |
Returns the storage of the k-th child (const version). | |
template<std::size_t k, class ChildType > | |
void | setChild (ChildType &&child, typename std::enable_if< lazy_enable< k >::value, void * >::type=0) |
Sets the k-th child to the passed-in value. | |
Constructors | |
FilteredCompositeNode (std::shared_ptr< Node > node) | |
Initialize the CompositeNode with copies of the passed in Storage objects. | |
FilteredCompositeNode (Node &node) | |
Initialize the CompositeNode with a copy of the passed-in storage type. | |
Static Public Member Functions | |
static constexpr auto | degree () |
Static Public Attributes | |
static const bool | isLeaf = false |
Mark this class as non leaf in the dune-typetree. | |
static const bool | isPower = false |
Mark this class as a non power in the dune-typetree. | |
static const bool | isComposite = true |
Mark this class as a composite in the dune-typetree. | |
static const std::size_t | CHILDREN = filter_result::size |
The number of children. | |
Protected Member Functions | |
Access to unfiltered node | |
template<bool enabled = !nodeIsConst> | |
std::enable_if< enabled, Node & >::type | unfiltered () |
Returns the unfiltered node. | |
const Node & | unfiltered () const |
Returns the unfiltered node (const version). | |
template<bool enabled = !nodeIsConst> | |
std::enable_if< enabled, std::shared_ptr< Node > >::type | unfilteredStorage () |
Returns the storage object of the unfiltered node. | |
std::shared_ptr< const Node > | unfilteredStorage () const |
Returns the storage object of the unfiltered node (const version). | |
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 k-th child.
|
inline |
Returns the k-th child (const version).
|
inline |
Returns the storage of the k-th child.
|
inline |
Returns the storage of the k-th child (const version).
|
inlinestaticconstexpr |
|
inline |
Sets the k-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.