Classes | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
XNode Class Reference

#include <xnode.h>

Inheritance diagram for XNode:
Inheritance graph
[legend]

Classes

struct  Payload
 

Public Member Functions

 XNode (const char *name, bool runtime=false)
 
template<class T >
shared_ptr< T > create (const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (const char *name, bool runtime, Args &&...args)
 
template<class T >
shared_ptr< T > create (Transaction &tr, const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (Transaction &tr, const char *name, bool runtime, Args &&...args)
 
XString getName () const
 
virtual XString getLabel () const
 
XString getTypename () const
 
shared_ptr< XNodegetChild (const XString &var) const
 
shared_ptr< XNodegetParent () const
 
void setUIEnabled (bool v)
 Enables/disables controls over scripting/GUI.
 
void disable ()
 Disables all scripting/GUI operations on this node hereafter.
 
- Public Member Functions inherited from Transactional::Node< XNode >
bool insert (Transaction< XNode > &tr, const shared_ptr< XNode > &var, bool online_after_insertion=false)
 
void insert (const shared_ptr< XNode > &var)
 
bool release (Transaction< XNode > &tr, const shared_ptr< XNode > &var)
 
void release (const shared_ptr< XNode > &var)
 
void releaseAll ()
 
bool swap (Transaction< XNode > &tr, const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
void swap (const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
XNodeupperNode (Snapshot< XNode > &shot)
 Finds the parent node in shot.
 
Snapshot< XNodeiterate_commit (Closure)
 
Snapshot< XNodeiterate_commit_if (Closure)
 
void iterate_commit_while (Closure)
 
void print_ () const
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 

Static Public Member Functions

template<class T__ >
static shared_ptr< T__ > createOrphan (const char *name)
 
template<class T__ , typename... Args_>
static shared_ptr< T__ > createOrphan (const char *name, bool runtime, Args_ &&...args)
 
- Static Public Member Functions inherited from Transactional::Node< XNode >
static T * create (Args &&...args)
 

Private Attributes

const XString m_name
 

Static Private Attributes

static XThreadLocal
< std::deque< shared_ptr
< XNode > > > 
stl_thisCreating
 

Additional Inherited Members

- Public Types inherited from Transactional::Node< XNode >
using NodeNotFoundError = std::domain_error
 
using NodeList = fast_vector< shared_ptr< XNode >, 2 >
 
using iterator = typename NodeList::iterator
 
using const_iterator = typename NodeList::const_iterator
 
- Protected Member Functions inherited from Transactional::Node< XNode >
 Node ()
 Use create().
 

Detailed Description

XNode supports accesses from scripts/GUI and shared_from_this(), in addition to the features of Transactional::Node.

See Also
Transactional::Node, create(), createOrphan().

Definition at line 49 of file xnode.h.

Member Function Documentation

virtual XString XNode::getLabel ( ) const
inlinevirtual
XString XNode::getName ( ) const
Returns
internal/scripting name. Use latin1 chars.

Definition at line 51 of file xnode.cpp.

Referenced by getLabel().


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

Generated for KAME4 by  doxygen 1.8.3