#include <nodesystem.h>
A GNodeIterator iterates over all children of a g-node. It is returned by NodeFunctions::GetChildren and PortListFunctions::GetPorts. Because both creation and iterator advance can return errors, the iteration doesn't provide the node of the current iteration directly, but wrapped in a Result. Therefore you have to write the loop as follows:
NODE | The node class over which the iterator loops (e.g. Node or MutablePort). |
Public Member Functions | |
GNodeIterator ()=default | |
Result< void > | operator++ () |
const NODE & | operator* () const |
const NODE * | operator-> () const |
Public Member Functions inherited from GNodeIteratorBase | |
Result< void > | Init (const NodeSystemInterface *nodeSystem, const GNodeHandle &node) |
Result< void > | Init (const NodeSystemInterface *nodeSystem, Result< GNodeHandle > &&node) |
Result< void > | Init (const NodeSystemInterface *nodeSystem, Result< const GNodeHandle & > &&node) |
Result< void > | MoveToNext () |
Bool | HasEntry () const |
operator Bool () const | |
const GNodeHandle & | GetHandle () const |
const MutableGNode & | GetNode () const |
Private Types | |
template<typename SUPER > | |
using | ResultFunctions = ResultIteratorFunctions< SUPER > |
Private Member Functions | |
Result< void > | Init (const NodeSystemInterface *nodeSystem, const GNodeHandle &node) |
Result< void > | Filter () |
Additional Inherited Members | |
Protected Attributes inherited from GNodeIteratorBase | |
const NodeSystemInterface * | _nodeSystem |
NodePath | _nodePath |
const GNodeData * | _nodeData |
const GNodeData * | _baseData |
Int | _childIndex |
MutableGNode | _child |
|
private |
|
default |
Constructs a @CLASS object with default values.
Result<void> operator++ | ( | ) |
Advances this iterator to the next child node.
const NODE& operator* | ( | ) | const |
Returns the current child node. This function must not be called when this iterator doesn't point to a valid child node.
const NODE* operator-> | ( | ) | const |
Returns the current child node. This function must not be called when this iterator doesn't point to a valid child node.
|
private |
|
private |