dune-typetree  2.5-dev
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Dune::TypeTree::ProxyNode< Node > Class Template Reference

Base class for nodes acting as a proxy for an existing node. More...

#include <dune/typetree/proxynode.hh>

Inheritance diagram for Dune::TypeTree::ProxyNode< Node >:
Inheritance graph

Public Types

typedef Node ProxiedNode
 
typedef Dune::TypeTree::NodeTag< Node > NodeTag
 

Static Public Member Functions

static constexpr std::size_t degree ()
 

Static Public Attributes

static const bool isLeaf = Node::isLeaf
 Mark this class as non leaf in the dune-typetree. More...
 
static const bool isPower = Node::isPower
 Mark this class as a non power in the dune-typetree. More...
 
static const bool isComposite = Node::isComposite
 Mark this class as a composite in the dune-typetree. More...
 
static const std::size_t CHILDREN = StaticDegree<Node>::value
 The number of children. More...
 

Protected Member Functions

Access to the proxied node
template<bool enabled = !proxiedNodeIsConst>
std::enable_if< enabled, Node & >::type proxiedNode ()
 Returns the proxied node. More...
 
const Node & proxiedNode () const
 Returns the proxied node (const version). More...
 
template<bool enabled = !proxiedNodeIsConst>
std::enable_if< enabled, shared_ptr< Node > >::type proxiedNodeStorage ()
 Returns the storage of the proxied node. More...
 
shared_ptr< const Node > proxiedNodeStorage () const
 Returns the storage of the proxied node (const version). More...
 
Constructors
 ProxyNode (Node &node)
 
 ProxyNode (shared_ptr< Node > node)
 

Detailed Description

template<typename Node>
class Dune::TypeTree::ProxyNode< Node >

Base class for nodes acting as a proxy for an existing node.

ProxyNode is a utility class for implementing proxy classes that need to provide the TypeTree node functionality of the proxied class. It exactly mirrors the TypeTree node characteristics of the proxied node.

Member Typedef Documentation

§ NodeTag

template<typename Node >
typedef Dune::TypeTree::NodeTag<Node> Dune::TypeTree::ProxyNode< Node >::NodeTag

§ ProxiedNode

template<typename Node >
typedef Node Dune::TypeTree::ProxyNode< Node >::ProxiedNode

Constructor & Destructor Documentation

§ ProxyNode() [1/2]

template<typename Node >
Dune::TypeTree::ProxyNode< Node >::ProxyNode ( Node &  node)
inlineprotected

§ ProxyNode() [2/2]

template<typename Node >
Dune::TypeTree::ProxyNode< Node >::ProxyNode ( shared_ptr< Node >  node)
inlineprotected

Member Function Documentation

§ degree()

template<typename Node >
static constexpr std::size_t Dune::TypeTree::ProxyNode< Node >::degree ( )
inlinestatic

§ proxiedNode() [1/2]

template<typename Node >
template<bool enabled = !proxiedNodeIsConst>
std::enable_if<enabled,Node&>::type Dune::TypeTree::ProxyNode< Node >::proxiedNode ( )
inlineprotected

Returns the proxied node.

§ proxiedNode() [2/2]

template<typename Node >
const Node& Dune::TypeTree::ProxyNode< Node >::proxiedNode ( ) const
inlineprotected

Returns the proxied node (const version).

§ proxiedNodeStorage() [1/2]

template<typename Node >
template<bool enabled = !proxiedNodeIsConst>
std::enable_if<enabled,shared_ptr<Node> >::type Dune::TypeTree::ProxyNode< Node >::proxiedNodeStorage ( )
inlineprotected

Returns the storage of the proxied node.

§ proxiedNodeStorage() [2/2]

template<typename Node >
shared_ptr<const Node> Dune::TypeTree::ProxyNode< Node >::proxiedNodeStorage ( ) const
inlineprotected

Returns the storage of the proxied node (const version).

Member Data Documentation

§ CHILDREN

template<typename Node >
const std::size_t Dune::TypeTree::ProxyNode< Node >::CHILDREN = StaticDegree<Node>::value
static

The number of children.

§ isComposite

template<typename Node >
const bool Dune::TypeTree::ProxyNode< Node >::isComposite = Node::isComposite
static

Mark this class as a composite in the dune-typetree.

§ isLeaf

template<typename Node >
const bool Dune::TypeTree::ProxyNode< Node >::isLeaf = Node::isLeaf
static

Mark this class as non leaf in the dune-typetree.

§ isPower

template<typename Node >
const bool Dune::TypeTree::ProxyNode< Node >::isPower = Node::isPower
static

Mark this class as a non power in the dune-typetree.


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