MutablePort Class Reference

#include <nodesystem.h>

Inheritance diagram for MutablePort:

Detailed Description

MutablePort represents a Port within a NodeSystem with write access.

See also
$ref usernodes_modifications

Public Types

using Super = MutablePortFunctions< MutableGNodeBase >
 
- Public Types inherited from MutablePortFunctions< MutableGNodeBase >
using ResultFunctions = MutablePortFunctions< maxon::nodes::details::GNodeResultBase< SUPER > >
 
using Super = PortFunctions< MutableGNodeBase >
 
- Public Types inherited from PortFunctions< BASE >
template<typename SUPER >
using ResultFunctions = PortFunctions< maxon::nodes::details::GNodeResultBase< SUPER > >
 
using Super = PortFunctionsSuper< BASE >
 

Public Member Functions

const PortToImmutable () const
 
- Public Member Functions inherited from MutablePortFunctions< MutableGNodeBase >
Result< void > Connect (Result< MutablePort > &&target, Wires modes=WIRE_MODE::CONNECT_DEFAULT, Opt< ChangeList & > list={}) const
 
Result< void > SetDefaultValue (T &&value) const
 
Result< void > SetType (const DataType &dataType) const
 
Result< void > SetType () const
 
Result< BoolSetConnectionValue (const MutablePort &target, CONNECTION_POSITION position, const InternedId &attr, ForwardingDataPtr &&value, Opt< ChangeList & > list={}) const
 
Result< BoolSetConnectionValue (const MutablePort &target, CONNECTION_POSITION position, const ATTR &attr, const typename ATTR::ValueType &value, Opt< ChangeList & > list={}) const
 
Result< BoolSetConnectionValue (const MutablePort &target, CONNECTION_POSITION position, const ATTR &attr, typename ATTR::ValueType &&value, Opt< ChangeList & > list={}) const
 
- Public Member Functions inherited from PortFunctions< BASE >
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
 
template<typename T >
Result< Opt< const T & > > GetConnectionValue (const PortSelector< BASE::MUTABLE > &target, CONNECTION_POSITION position, const InternedId &attr) const
 
template<typename ATTR >
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
 
template<typename PATH >
Result< void > InitFromPath (typename PortFunctionsSuper< BASE >::NodeSystemCtorParam system, PATH &&path, NODE_KIND check=NODE_KIND::PORT_MASK)
 

Static Public Member Functions

static MAXON_ATTRIBUTE_FORCE_INLINE const MutablePortNullValue ()
 

Member Typedef Documentation

◆ Super

Member Function Documentation

◆ NullValue()

static MAXON_ATTRIBUTE_FORCE_INLINE const MutablePort& NullValue ( )
static

◆ ToImmutable()

const Port& ToImmutable ( ) const

Casts this MutablePort to an immutable Port. If you call this function during an active modification you have to make sure that the returned Port (and all further immutable references which are obtained through this Port) is only stored temporarily and goes out of scope before the next modification is made, see usernodes_modifications.

Returns
This port list as a Port.