GNodeDataPtr Struct Reference

Detailed Description

This class is used internally to store the data for a node. Basically it is a pointer to GNodeData, but it also stores the node system through which the pointer is reached. This is needed at some places, and the node system pointer can't be stored at the GNodeData itself because the latter can be shared among several node systems.

Public Member Functions

 GNodeDataPtr ()=default
 
 GNodeDataPtr (const GNodeData *p, const NodeSystemImpl *s)
 
void Reset ()
 
 operator Bool () const
 
const GNodeData * operator-> () const
 
const GNodeData & operator* () const
 
 MAXON_OPERATOR_EQUALITY_HASHCODE (GNodeDataPtr, ptr)
 

Public Attributes

const GNodeData * ptr
 
const NodeSystemImpl * system
 

Constructor & Destructor Documentation

◆ GNodeDataPtr() [1/2]

GNodeDataPtr ( )
default

◆ GNodeDataPtr() [2/2]

GNodeDataPtr ( const GNodeData *  p,
const NodeSystemImpl *  s 
)

Member Function Documentation

◆ Reset()

void Reset ( void  )

◆ operator Bool()

operator Bool ( ) const
explicit

◆ operator->()

const GNodeData* operator-> ( void  ) const

◆ operator*()

const GNodeData& operator* ( ) const

◆ MAXON_OPERATOR_EQUALITY_HASHCODE()

MAXON_OPERATOR_EQUALITY_HASHCODE ( GNodeDataPtr  ,
ptr   
)

Member Data Documentation

◆ ptr

const GNodeData* ptr

◆ system

const NodeSystemImpl* system