#include <nodesystem.h>
GNode is the base class of immutable node references. The class hierarchy is
See also usernodes_nodes for a class diagram and more details. The method NodeSystem::GetRoot() returns a reference to the root node of a node system, from this all other nodes and ports can be found. However it is not possible to get mutable node references starting with an immutable reference, for mutable references see MutableRoot.
Public Member Functions | |
void | Reset () |
GNode & | operator= (std::nullptr_t) |
const NodeSystem & | GetNodeSystem () const |
GNode ()=default | |
~GNode () | |
GNode (const GNode &other) | |
MAXON_OPERATOR_COPY_ASSIGNMENT (GNode) | |
GNode (GNode &&other) | |
MAXON_OPERATOR_MOVE_ASSIGNMENT (GNode) | |
Result< void > | InitFromPath (const NodeSystem &system, const NodePath &path, NODE_KIND check=NODE_KIND::ALL_MASK) |
Result< void > | InitFromPath (const NodeSystem &system, const PathBlock &path, NODE_KIND check=NODE_KIND::ALL_MASK) |
![]() | |
Bool | IsPort () const |
const PortSelector< BASE::MUTABLE > & | ToPort () const |
Result< void > | GetValues (GraphAttribute::FLAGS mask, GraphAttributeMap &attribs, Bool includeInherited=true, Bool includeRemoved=false) const |
Result< ConstDataPtr > | GetValue (const InternedId &attr, const DataType &expectedType) const |
Result< ConstDataPtr > | GetValue (const InternedId &attr, const DataType &expectedType, Int &nesting, Bool negativeRootNesting=false) const |
Result< Opt< const T & > > | GetValue (const InternedId &attr) const |
Result< Opt< const typename ATTR::ValueType & > > | GetValue (const ATTR &attr) const |
Result< Opt< const typename ATTR::ValueType & > > | GetValue () const |
Result< Opt< const typename ATTR::ValueType & > > | GetValue (const ATTR &attr, Int &nesting) const |
Result< Bool > | GetBaseValues (const InternedId &attr, const DataType &expectedType, const ValueReceiver< const ConstDataPtr &, Int > &receiver) const |
Result< Bool > | GetAttributeModificationsSince (TimeStamp stamp, const ValueReceiver< InternedId, ConstDataPtr > &receiver) const |
TimeStamp | GetAttributeStamp (const InternedId &attr) const |
Result< NodeSelector< BASE::MUTABLE > > | GetNode () const |
Result< GNodeSelector< BASE::MUTABLE > > | GetParent () const |
Result< GNodeSelector< BASE::MUTABLE > > | FindChild (const InternedId &name, NODE_KIND mask) const |
Result< typename NODE::template Selector< BASE::MUTABLE > > | FindInnerNode (const PathBlock &relativePath) const |
Result< Bool > | GetInnerNodes (NODE_KIND mask, Bool includeThis, const ValueReceiver< const GNodeSelector< BASE::MUTABLE > & > &receiver) const |
const NodeSystem & | GetBase () const |
const Block< const NodeSystem > & | GetBases () const |
Result< Bool > | GetAllBases (const ValueReceiver< const NodeSystem & > &receiver) const |
const NodeTemplate & | GetTemplate () const |
Result< Bool > | GetAllTemplates (const ValueReceiver< const NodeTemplate & > &receiver) const |
const NodeSystemDerivationHandler & | GetDerivationHandler () const |
![]() | |
operator Bool () const | |
Bool | IsEmpty () const |
Bool | IsPopulated () const |
Bool | IsValid () const |
const NodeSystemInterface::ConstPtr & | GetNodeSystem () const |
const NodePath & | GetPath () const |
operator const NodePath & () const | |
const InternedId & | GetId () const |
NODE_KIND | GetKind () const |
GNODE_FLAGS | GetFlags () const |
Bool | operator== (const GNodeBase &other) const |
Bool | operator!= (const GNodeBase &other) const |
HashInt | GetHashCode () const |
UniqueHash | GetUniqueHashCode () const |
String | ToString (const FormatStatement *fs=nullptr) const |
Protected Member Functions | |
void | SetNodeSystem (const NodeSystem &sys) |
![]() | |
GNodeBase ()=default | |
GNodeBase (NodeSystemInterface *system, const GNodeHandle &node) | |
GNodeBase (NodeSystemInterface *system, GNodeHandle &&node) | |
void | SetNodeSystem (NodeSystemInterface *sys) |
Private Types | |
using | NodeSystemCtorParam = const NodeSystem & |
Private Member Functions | |
GNode (const NodeSystem &system, const GNodeHandle &handle) | |
GNode (const NodeSystem &system, GNodeHandle &&handle) | |
Friends | |
class | NodesLibImpl |
class | GNodeBase |
class | NodeSystemManagerImpl |
Additional Inherited Members | |
![]() | |
using | Super = GNodeBase |
![]() | |
template<typename GNODE , typename PATH > | |
static Result< void > | PrivateInitFromPath (GNODE &node, typename GNODE::NodeSystemCtorParam system, PATH &&path, NODE_KIND check) |
![]() | |
NodeSystemInterface * | _system |
GNodeHandle | _node |
|
private |
|
default |
Constructs a null node reference.
|
private |
Constructs a g-node reference from a node system and a node handle.
[in] | system | The node system to use. |
[in] | handle | A handle for a node within the given node system. |
|
private |
Constructs a g-node reference from a node system and a node handle.
[in] | system | The node system to use. |
[in] | handle | A handle for a node within the given node system. |
~GNode | ( | ) |
void Reset | ( | ) |
Resets this @CLASS to the state it has right after default construction. This includes freeing all resources held by this @CLASS.
GNode& operator= | ( | std::nullptr_t | ) |
Resets this reference to a null reference.
const NodeSystem& GetNodeSystem | ( | ) | const |
Returns the node system of this node reference. For a null node a null reference is returned.
MAXON_OPERATOR_COPY_ASSIGNMENT | ( | GNode | ) |
MAXON_OPERATOR_MOVE_ASSIGNMENT | ( | GNode | ) |
Result<void> InitFromPath | ( | const NodeSystem & | system, |
const NodePath & | path, | ||
NODE_KIND | check = NODE_KIND::ALL_MASK |
||
) |
Initializes a g-node reference from a node system and a path. If there's no node in the node system for the given path, this reference is set to a null reference. If a node exists but its kind doesn't match the check mask, an IllegalArgumentError is returned.
[in] | system | The node system to use. |
[in] | path | A path which points to a g-node in the given node system. |
[in] | check | A mask of the expected node kind(s). |
Result<void> InitFromPath | ( | const NodeSystem & | system, |
const PathBlock & | path, | ||
NODE_KIND | check = NODE_KIND::ALL_MASK |
||
) |
Initializes a g-node reference from a node system and a path. If there's no node in the node system for the given path, this reference is set to a null reference. If a node exists but its kind doesn't match the check mask, an IllegalArgumentError is returned.
[in] | system | The node system to use. |
[in] | path | A path which points to a g-node in the given node system. |
[in] | check | A mask of the expected node kind(s). |
|
protected |
|
friend |
|
friend |
|
friend |