dune-typetree 2.9
Loading...
Searching...
No Matches
Public Types | List of all members
Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag > Struct Template Reference

ProxyNode base class for DynamicPowerNode. More...

#include <dune/typetree/proxynode.hh>

Inheritance diagram for Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag >:
Inheritance graph

Public Types

typedef Node::ChildType ChildType
 
typedef Node::NodeStorage NodeStorage
 

Public Member Functions

Child Access (Dynamic methods)
auto & child (std::size_t i)
 Returns the i-th child.
 
const auto & child (std::size_t i) const
 Returns the i-th child (const version).
 
auto childStorage (std::size_t i)
 Returns the storage of the i-th child.
 
auto childStorage (std::size_t i) const
 Returns the storage of the i-th child (const version).
 
void setChild (std::size_t i, ProxyChild &&child, typename std::enable_if< enabled, void * >::type=0)
 Sets the i-th child to the passed-in value.
 
Child Access
template<std::size_t k, typename std::enable_if< lazy_enabled< k >::value, int >::type = 0>
auto & child (index_constant< k >={})
 Returns the i-th child.
 
template<std::size_t k>
const auto & child (index_constant< k >={}) const
 Returns the i-th child (const version).
 
template<std::size_t k, typename std::enable_if< lazy_enabled< k >::value, int >::type = 0>
auto childStorage (index_constant< k >={})
 Returns the storage of the i-th child.
 
template<std::size_t k>
auto childStorage (index_constant< k >={}) const
 Returns the storage of the i-th child (const version).
 
template<std::size_t k, class ProxyChild >
void setChild (ProxyChild &&child, typename std::enable_if< lazy_enabled< k >::value, void * >::type=0)
 Sets the i-th child to the passed-in value.
 
const ProxiedNode::NodeStorage & nodeStorage () const
 

Detailed Description

template<typename Node>
struct Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag >

ProxyNode base class for DynamicPowerNode.

Member Typedef Documentation

◆ ChildType

template<typename Node >
typedef Node::ChildType Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag >::ChildType

◆ NodeStorage

template<typename Node >
typedef Node::NodeStorage Dune::TypeTree::ProxyNodeBase< Node, DynamicPowerNodeTag >::NodeStorage

Member Function Documentation

◆ child() [1/4]

template<typename ProxiedNode >
template<std::size_t k, typename std::enable_if< lazy_enabled< k >::value, int >::type = 0>
auto & Dune::TypeTree::StaticChildAccessors< ProxiedNode >::child ( index_constant< k >  = {})
inlineinherited

Returns the i-th child.

Returns
a reference to the i-th child.

◆ child() [2/4]

template<typename ProxiedNode >
template<std::size_t k>
const auto & Dune::TypeTree::StaticChildAccessors< ProxiedNode >::child ( index_constant< k >  = {}) const
inlineinherited

Returns the i-th child (const version).

Returns
a const reference to the i-th child.

◆ child() [3/4]

auto & Dune::TypeTree::DynamicChildAccessors< Node >::child ( std::size_t  i)
inlineinherited

Returns the i-th child.

Returns
a reference to the i-th child.

◆ child() [4/4]

const auto & Dune::TypeTree::DynamicChildAccessors< Node >::child ( std::size_t  i) const
inlineinherited

Returns the i-th child (const version).

Returns
a const reference to the i-th child.

◆ childStorage() [1/4]

template<typename ProxiedNode >
template<std::size_t k, typename std::enable_if< lazy_enabled< k >::value, int >::type = 0>
auto Dune::TypeTree::StaticChildAccessors< ProxiedNode >::childStorage ( index_constant< k >  = {})
inlineinherited

Returns the storage of the i-th child.

Returns
a copy of the object storing the i-th child.

◆ childStorage() [2/4]

template<typename ProxiedNode >
template<std::size_t k>
auto Dune::TypeTree::StaticChildAccessors< ProxiedNode >::childStorage ( index_constant< k >  = {}) const
inlineinherited

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.

Returns
a copy of the object storing the i-th child.

◆ childStorage() [3/4]

auto Dune::TypeTree::DynamicChildAccessors< Node >::childStorage ( std::size_t  i)
inlineinherited

Returns the storage of the i-th child.

Returns
a copy of the object storing the i-th child.

◆ childStorage() [4/4]

auto Dune::TypeTree::DynamicChildAccessors< Node >::childStorage ( std::size_t  i) const
inlineinherited

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.

Returns
a copy of the object storing the i-th child.

◆ nodeStorage()

template<typename ProxiedNode >
const ProxiedNode::NodeStorage & Dune::TypeTree::StaticChildAccessors< ProxiedNode >::nodeStorage ( ) const
inlineinherited

◆ setChild() [1/2]

template<typename ProxiedNode >
template<std::size_t k, class ProxyChild >
void Dune::TypeTree::StaticChildAccessors< ProxiedNode >::setChild ( ProxyChild &&  child,
typename std::enable_if< lazy_enabled< k >::value, void * >::type  = 0 
)
inlineinherited

Sets the i-th child to the passed-in value.

◆ setChild() [2/2]

void Dune::TypeTree::DynamicChildAccessors< Node >::setChild ( std::size_t  i,
ProxyChild &&  child,
typename std::enable_if< enabled, void * >::type  = 0 
)
inlineinherited

Sets the i-th child to the passed-in value.


The documentation for this struct was generated from the following file: