GNodeHandle Class Reference

Detailed Description

A GNodeHandle references a g-node within a node system by a path. It also caches the current GNodeData pointer for the path to speed up data access.

Public Member Functions

 GNodeHandle ()=default
 
 MAXON_OPERATOR_EQUALITY_HASHCODE (GNodeHandle, _path)
 
 operator Bool () const
 
NODE_KIND GetKind () const
 
const NodePath & GetPath () const
 
const GNodeDataPtrGetData () const
 
void Reset ()
 
String ToString (const FormatStatement *fs=nullptr) const
 

Static Public Member Functions

static MAXON_ATTRIBUTE_FORCE_INLINE const GNodeHandleNullValue ()
 

Protected Member Functions

 GNodeHandle (const NodePath &path, const GNodeDataPtr &data, UInt stamp)
 
 GNodeHandle (NodePath &&path, const GNodeDataPtr &data, UInt stamp)
 

Protected Attributes

NodePath _path
 
GNodeDataPtr _data
 
UInt _stamp
 

Friends

class NodeSystemImpl
 
class CompiledNodeImpl
 

Constructor & Destructor Documentation

◆ GNodeHandle() [1/3]

GNodeHandle ( )
default

◆ GNodeHandle() [2/3]

GNodeHandle ( const NodePath &  path,
const GNodeDataPtr data,
UInt  stamp 
)
protected

◆ GNodeHandle() [3/3]

GNodeHandle ( NodePath &&  path,
const GNodeDataPtr data,
UInt  stamp 
)
protected

Member Function Documentation

◆ MAXON_OPERATOR_EQUALITY_HASHCODE()

MAXON_OPERATOR_EQUALITY_HASHCODE ( GNodeHandle  ,
_path   
)

◆ operator Bool()

operator Bool ( ) const
explicit

◆ GetKind()

NODE_KIND GetKind ( ) const

◆ GetPath()

const NodePath& GetPath ( ) const

◆ GetData()

const GNodeDataPtr& GetData ( void  ) const

◆ Reset()

void Reset ( void  )

◆ ToString()

String ToString ( const FormatStatement fs = nullptr) const

◆ NullValue()

static MAXON_ATTRIBUTE_FORCE_INLINE const GNodeHandle& NullValue ( )
static

Friends And Related Function Documentation

◆ NodeSystemImpl

friend class NodeSystemImpl
friend

◆ CompiledNodeImpl

friend class CompiledNodeImpl
friend

Member Data Documentation

◆ _path

NodePath _path
protected

◆ _data

GNodeDataPtr _data
mutableprotected

◆ _stamp

UInt _stamp
mutableprotected