Port Class Reference

#include <nodesystem.h>

Inheritance diagram for Port:

Detailed Description

Port represents a port within a NodeSystem. Each port belongs to a port list:

  • The port may be a direct child of the list of input or output ports of a node. Then the port is a /top-level/ port.
  • Otherwise the port is a /nested/ port, contained within another port.

Example: In the following node system a, c, e, f are top-level ports and b, d are nested ports. @graph +------------------------—+ | +--------—+ | o a --> o c | | o b o d —> e o --> f o | +--------—+ | +------------------------—+ @endgraph Port allows for read-only access to the port of the NodeSystem. If you want to make modifications, you have to use MutablePort instead.

Public Types

using Super = PortFunctions< GNodeBase >
 
- Public Types inherited from PortFunctions< GNodeBase >
using ResultFunctions = PortFunctions< maxon::nodes::details::GNodeResultBase< SUPER > >
 
using Super = PortFunctionsSuper< GNodeBase >
 

Static Public Member Functions

static MAXON_ATTRIBUTE_FORCE_INLINE const PortNullValue ()
 

Additional Inherited Members

- Public Member Functions inherited from PortFunctions< GNodeBase >
Result< PortListSelector< BASE::MUTABLE > > GetParent () const
 
Result< BoolGetConnections (PORT_DIR dir, const ValueReceiver< const ConnectionSelector< BASE::MUTABLE > & > &conns, Wires mask=Wires::All(), NodeSystemInterface::GET_CONNECTIONS_MODE mode=NodeSystemInterface::GET_CONNECTIONS_MODE::CONNECTIONS) const
 
Result< WiresGetWires (const PortSelector< BASE::MUTABLE > &target) const
 
Result< BoolGetConnectionValues (const PortSelector< BASE::MUTABLE > &target, const ValueReceiver< CONNECTION_POSITION, InternedId, const ConstDataPtr & > &receiver) const
 
Result< ConstDataPtrGetConnectionValue (const PortSelector< BASE::MUTABLE > &target, CONNECTION_POSITION position, const InternedId &attr, const DataType &expectedType) const
 
Result< Opt< const T & > > GetConnectionValue (const PortSelector< BASE::MUTABLE > &target, CONNECTION_POSITION position, const InternedId &attr) const
 
Result< Opt< const typename ATTR::ValueType & > > GetConnectionValue (const PortSelector< BASE::MUTABLE > &target, CONNECTION_POSITION position, const ATTR &attr) const
 
TimeStamp GetConnectionStamp (PORT_DIR direction) const
 
Bool IsPortOfRoot () const
 
Bool IsTopLevelPort () const
 
Int GetTopologicalLayer () const
 
Result< void > InitFromPath (typename PortFunctionsSuper< GNodeBase >::NodeSystemCtorParam system, PATH &&path, NODE_KIND check=NODE_KIND::PORT_MASK)
 

Member Typedef Documentation

◆ Super

Member Function Documentation

◆ NullValue()

static MAXON_ATTRIBUTE_FORCE_INLINE const Port& NullValue ( )
static