corenodes_helpers.h File Reference

Classes

class  PortId
 
class  InPortId
 
class  OutPortId
 
class  IdBuilder
 
class  IdOrBuilder
 

Namespaces

 maxon
 
 maxon::corenodes
 

Enumerations

enum class  ACCESS_INDEX : Int {
  UNUSED ,
  INDEX_0 ,
  INDEX_1 ,
  INDEX_2 ,
  INDEX_3
}
 
enum class  WIRETYPE : UInt32 {
  NONE ,
  FLOW ,
  DOMAIN ,
  HIERARCHY ,
  VALUE ,
  LCV_WRITE ,
  REDUCTION_READ_WRITE ,
  DOMAIN_FLOW ,
  DOMAIN_FLOW_VALUE ,
  LIFETIME ,
  LAZY ,
  CONSUMABLE_REQUEST ,
  MODE_MASK ,
  CONTROL_BLOCK ,
  VARLINK ,
  BLOCK_NESTING ,
  SUBTRACTIVE_DOMAIN ,
  ELEMENT_DOMAIN ,
  MATCH_DOMAIN ,
  INDUCED_DOMAIN ,
  FIX_DOMAIN ,
  CONDITIONAL_DOMAIN ,
  INTERSECTION_DOMAIN ,
  INITIALIZE_VALUE ,
  VALUE_FLAG_MASK ,
  FLAG_MASK ,
  INDUCED_MASK ,
  WRITE_MASK ,
  DOMAIN_MASK ,
  ALL ,
  DEFAULT
}
 
enum class  PORTACCESS_FLAGS : UInt32 {
  NONE ,
  CONSUMABLE ,
  OFFSET_MASK ,
  FLAG_MASK
}
 

Functions

enum maxon::corenodes::ACCESS_INDEX Int MAXON_ENUM_LIST (ACCESS_INDEX)
 
enum maxon::corenodes::WIRETYPE UInt32 MAXON_ENUM_FLAGS (WIRETYPE)
 
enum maxon::corenodes::PORTACCESS_FLAGS UInt32 MAXON_ENUM_FLAGS (PORTACCESS_FLAGS)
 
 MAXON_DATATYPE (PortId, "net.maxon.corenode.datatype.portid")
 

Variables

 UNUSED
 
 INDEX_0
 
 INDEX_1
 
 INDEX_2
 
 INDEX_3
 
 NONE
 
 FLOW
 
 DOMAIN
 
 HIERARCHY
 
 VALUE
 
 LCV_WRITE
 
 REDUCTION_READ_WRITE
 
 DOMAIN_FLOW
 
 DOMAIN_FLOW_VALUE
 
 LIFETIME
 
 LAZY
 
 CONSUMABLE_REQUEST
 
 MODE_MASK
 
 CONTROL_BLOCK
 
 VARLINK
 
 BLOCK_NESTING
 
 SUBTRACTIVE_DOMAIN
 
 ELEMENT_DOMAIN
 
 MATCH_DOMAIN
 
 INDUCED_DOMAIN
 
 FIX_DOMAIN
 
 CONDITIONAL_DOMAIN
 
 INTERSECTION_DOMAIN
 
 INITIALIZE_VALUE
 
 VALUE_FLAG_MASK
 
 FLAG_MASK
 
 INDUCED_MASK
 
 WRITE_MASK
 
 DOMAIN_MASK
 
 ALL
 
 DEFAULT
 
 CONSUMABLE
 
 OFFSET_MASK
 
class maxon::corenodes::PortId MAXON_ENUM_FLAGS
 

Variable Documentation

◆ UNUSED

UNUSED

The value isn't part of the Ports/Batch parameter of the Process method.

◆ INDEX_0

INDEX_0

The value is accessed at index 0.

◆ INDEX_1

INDEX_1

The value is accessed at index 1.

◆ INDEX_2

INDEX_2

The value is accessed at index 2.

◆ INDEX_3

INDEX_3

The value is accessed at index 3.

◆ NONE

NONE

◆ FLOW

FLOW

A FLOW wire represents dependencies in a core node graph. Often there is a parallel DOMAIN wire and a parallel VALUE wire.

◆ DOMAIN

DOMAIN

A DOMAIN wire adds the domain of the source to the domain of the target.

◆ HIERARCHY

HIERARCHY

A HIERARCHY wire can be set in parallel to FLOW or DOMAIN, this enforces a strict nesting in the execution tree.

◆ VALUE

VALUE

A VALUE wire transports the value of its source to its target. This is always in parallel to a FLOW wire. Usually there's a parallel DOMAIN wire, but for reductions and LCVs there are exceptions because they transport a value from within a domain to the outside of that domain.

◆ LCV_WRITE

LCV_WRITE

Set in parallel to VALUE when there's write access to an LCV variable.

◆ REDUCTION_READ_WRITE

REDUCTION_READ_WRITE

Set in parallel to VALUE when there's read-write access to a reduction variable.

◆ DOMAIN_FLOW

DOMAIN_FLOW

◆ DOMAIN_FLOW_VALUE

DOMAIN_FLOW_VALUE

◆ LIFETIME

LIFETIME

◆ LAZY

LAZY

◆ CONSUMABLE_REQUEST

CONSUMABLE_REQUEST

◆ MODE_MASK

MODE_MASK

◆ CONTROL_BLOCK

CONTROL_BLOCK

◆ VARLINK

VARLINK

◆ BLOCK_NESTING

BLOCK_NESTING

◆ SUBTRACTIVE_DOMAIN

SUBTRACTIVE_DOMAIN

◆ ELEMENT_DOMAIN

ELEMENT_DOMAIN

◆ MATCH_DOMAIN

MATCH_DOMAIN

◆ INDUCED_DOMAIN

INDUCED_DOMAIN

◆ FIX_DOMAIN

FIX_DOMAIN

◆ CONDITIONAL_DOMAIN

CONDITIONAL_DOMAIN

◆ INTERSECTION_DOMAIN

INTERSECTION_DOMAIN

◆ INITIALIZE_VALUE

INITIALIZE_VALUE

◆ VALUE_FLAG_MASK

VALUE_FLAG_MASK

◆ FLAG_MASK

FLAG_MASK

Mask for all flags in this enum.

◆ INDUCED_MASK

INDUCED_MASK

◆ WRITE_MASK

WRITE_MASK

◆ DOMAIN_MASK

DOMAIN_MASK

◆ ALL

ALL

◆ DEFAULT

DEFAULT

◆ CONSUMABLE

CONSUMABLE

The micronode may consume the port's value because no-one else will read it afterwards. In such a case the micronode can safely modify the value, for example by a std::move to re-use the value for something else.

◆ OFFSET_MASK

OFFSET_MASK

The lower bits of this enum are used internally to encode the offset of the port's data within the current frame.