|
dune-typetree 2.10
|
Loading...
Searching...
No Matches
proxynode.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
32 static const bool proxiedNodeIsConst = std::is_const<typename std::remove_reference<ProxiedNode>::type>::value;
112 void setChild (ProxyChild&& child, typename std::enable_if<lazy_enabled<k>::value,void*>::type = 0)
137 static const bool proxiedNodeIsConst = std::is_const<typename std::remove_reference<ProxiedNode>::type>::value;
201 void setChild (std::size_t i, ProxyChild&& child, typename std::enable_if<enabled,void*>::type = 0)
256 static const bool proxiedNodeIsConst = std::is_const<typename std::remove_reference<Node>::type>::value;
typename std::decay_t< Node >::NodeTag NodeTag
Returns the node tag of the given Node.
Definition nodeinterface.hh:70
STL namespace.
typename detected_or< nonesuch, Op, Args... >::value_t is_detected
static constexpr size_type N()
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
Tag designating a power node with runtime degree.
Definition nodetags.hh:24
Base class for nodes acting as a proxy for an existing node.
Definition proxynode.hh:255
Dune::TypeTree::NodeTag< Node > NodeTag
Definition proxynode.hh:272
static const bool isComposite
Mark this class as a composite in the dune-typetree.
Definition proxynode.hh:281
static const bool isLeaf
Mark this class as non leaf in the dune-typetree.
Definition proxynode.hh:275
static const bool isPower
Mark this class as a non power in the dune-typetree.
Definition proxynode.hh:278
std::enable_if< enabled, Node & >::type proxiedNode()
Returns the proxied node.
Definition proxynode.hh:306
std::shared_ptr< const Node > proxiedNodeStorage() const
Returns the storage of the proxied node (const version).
Definition proxynode.hh:326
std::enable_if< enabled, std::shared_ptr< Node > >::type proxiedNodeStorage()
Returns the storage of the proxied node.
Definition proxynode.hh:320
ProxyNode(std::shared_ptr< Node > node)
Definition proxynode.hh:340
const Node & proxiedNode() const
Returns the proxied node (const version).
Definition proxynode.hh:312
Mixin class providing methods for child access with compile-time parameter.
Definition proxynode.hh:30
auto & child(index_constant< k >={})
Returns the i-th child.
Definition proxynode.hh:71
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.
Definition proxynode.hh:112
const ProxiedNode::NodeStorage & nodeStorage() const
Definition proxynode.hh:117
auto childStorage(index_constant< k >={})
Returns the storage of the i-th child.
Definition proxynode.hh:92
const auto & child(index_constant< k >={}) const
Returns the i-th child (const version).
Definition proxynode.hh:81
auto childStorage(index_constant< k >={}) const
Returns the storage of the i-th child (const version).
Definition proxynode.hh:105
Access to the type and storage type of the i-th child.
Definition proxynode.hh:60
Mixin class providing methods for child access with run-time parameter.
Definition proxynode.hh:133
auto & child(std::size_t i)
Returns the i-th child.
Definition proxynode.hh:162
auto childStorage(std::size_t i) const
Returns the storage of the i-th child (const version).
Definition proxynode.hh:194
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.
Definition proxynode.hh:201
const auto & child(std::size_t i) const
Returns the i-th child (const version).
Definition proxynode.hh:171
auto childStorage(std::size_t i)
Returns the storage of the i-th child.
Definition proxynode.hh:182
Tag-based dispatch to appropriate base class that provides necessary functionality.
Definition proxynode.hh:210
Node::NodeStorage NodeStorage
Definition proxynode.hh:224
Node::ChildTypes ChildTypes
Definition proxynode.hh:223
Node::NodeStorage NodeStorage
Definition proxynode.hh:233
Node::ChildType ChildType
Definition proxynode.hh:232
Node::NodeStorage NodeStorage
Definition proxynode.hh:242
Node::ChildType ChildType
Definition proxynode.hh:241
T reduce(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8