corenodes_instances.h File Reference

Classes

class  MicroNode
 
class  MicroNode::Base
 
struct  MicroNode::Source< WT >
 
struct  MicroNode::Child< WT, T >
 
struct  MicroNode::Input< PORT >
 
struct  MicroNode::Init< PORT >
 
struct  MicroNode::Previous< PORT >
 
struct  MicroNode::Next< PORT >
 
struct  MicroNode::Reduction< PORT >
 
struct  MicroNode::Final< PORT >
 
struct  MicroNode::Uninitialized< PORT >
 
struct  MicroNode::Consumable< PORT >
 
class  CoreNodeInstanceBaseInterface
 
class  MicroNodeInterface
 
class  CoreNodeInstanceInterface
 

Namespaces

 maxon
 
 maxon::corenodes
 

Macros

#define PRIVATE_MAXON_PORT_QUALIFIER(name, mode, test)
 

Typedefs

using PortAccessDescriptionCallback = void(*)(PortAccessDescription *)
 
using LlvmGlobalsReceiver = Delegate< Result< void >(const CString &name, const CString &decl, void *address)>
 

Enumerations

enum class  PORT_MODE : UInt32 {
  NONE ,
  INPUT_PORT_FLAG ,
  INPUT_FLAG ,
  OUTPUT_FLAG ,
  LCV_PREV_FLAG ,
  LCV_NEXT_FLAG ,
  REDUCTION_FLAG ,
  FINAL_FLAG ,
  UNINITIALIZED ,
  LAZY ,
  CONSUMABLE_REQUEST ,
  MODIFIERS ,
  INPUT ,
  OUTPUT ,
  LCV_PREV ,
  LCV_NEXT ,
  REDUCTION ,
  FINAL
}
 
enum class  PORTS_MODE {
  NONE ,
  ITERATION ,
  BATCH ,
  DIRECT ,
  VARIADIC ,
  MODIFIERS
}
 

Functions

enum maxon::corenodes::PORT_MODE UInt32 MAXON_ENUM_FLAGS (PORT_MODE)
 
enum maxon::corenodes::PORTS_MODE MAXON_ENUM_FLAGS (PORTS_MODE)
 
String ToString (const NodeHandle *h, const FormatStatement *fs, Bool checkDataType=true)
 

Variables

 NONE
 
 INPUT_PORT_FLAG
 
 INPUT_FLAG
 
 OUTPUT_FLAG
 
 LCV_PREV_FLAG
 
 LCV_NEXT_FLAG
 
 REDUCTION_FLAG
 
 FINAL_FLAG
 
 UNINITIALIZED
 
 LAZY
 
 CONSUMABLE_REQUEST
 
 MODIFIERS
 
 INPUT
 
 OUTPUT
 
 LCV_PREV
 
 LCV_NEXT
 
 REDUCTION
 
 FINAL
 
 ITERATION
 
 BATCH
 
 DIRECT
 
 VARIADIC
 
 INVALID
 
 BASIC
 
 SEQUENCING
 
 NOP
 
 SUBTRACTIVE_DOMAIN
 
 JOIN
 
 CONTROL_TRANSFER
 
 MAX_WITHOUT_FLAG
 
 VARIABLE_MASK
 
 MIN_FLAG
 
 VALUE_PORT_MASK
 
 INPUT_PORT_MASK
 
 EXPORTED_PORT
 
 VIRTUAL_INPUT_PORT
 
 OUTPUT_PORT_MASK
 
 VARIABLE
 
 PORT_MASK
 
 VARIABLE_FRONT_MASK
 
 VARIABLE_BACK_MASK
 
 VARIABLE_FRONT
 
 VARIABLE_BACK
 
 FACTOR_MASK
 
 ROOT
 
 WHILE_CONDITION
 
 INDEFINITE_LOOP
 
 BLOCK
 
 TOP_LEVEL_FACTOR_MASK
 
 FRAME_MASK
 
 TOP_LEVEL_FRAME
 
 FRAME
 
 FACTOR_HEADER_MASK
 
 BLOCK_HEADER
 
 CONDITIONAL_HEADER
 
 DEFINITE_FACTOR_HEADER_MASK
 
 CONTAINER_LOOP_HEADER_MASK
 
 CONTAINER_OUTPUT_FRONT_MASK
 
 DEFINITE_FACTOR_MASK
 
 CONTAINER_OUTPUT_ELEMENT_MASK
 
 INDEXABLE_FACTOR_MASK
 
 DIMENSIONAL_FACTOR_TEST
 
 CONTAINER_LOOP_MASK
 
 DEFINITE_LOOP_HEADER
 
 CONTAINER_LOOP_HEADER
 
 ARRAY_LOOP_HEADER
 
 CONTAINER_LOOP
 
 ARRAY_LOOP
 
 CONTAINER_OUTPUT_FRONT
 
 CONTAINER_OUTPUT_ELEMENT
 
 ARRAY_OUTPUT_ELEMENT
 
 DEFINITE_LOOP
 
 GENERIC_DEFINITE_LOOP
 
 INPUT_ELEMENT_MASK
 
 ARRAY_INPUT_ELEMENT
 
 CONTAINER_INPUT_ELEMENT
 
 INPUT_MASK
 
 OUTPUT_MASK
 
 CONDITIONAL_MASK
 
 IF
 
 CONTAINER_MASK
 
 CONTAINER
 
 ARRAY_CONTAINER
 
 ARRAY
 
 CONTAINER_OUTPUT_BACK_MASK
 
 CONTAINER_OUTPUT_BACK
 
 CONTAINER_INPUT_GROUP_MASK
 
 CONTAINER_INPUT_GROUP
 
 FACTOR_WITH_FACTOR_VARIABLE
 
 ALL
 
 STATE_ACCESS
 
 LOCAL
 
 PERMANENT
 
 CACHED
 
 CONTAINER_MEMBER
 
 COMMUTATIVE
 
 PARAMETER
 
 INPUT_WITHOUT_VALUE
 
 OUTER_DOMAIN
 
 SUSPEND
 
 INDEPENDENT
 
 FIX_DOMAIN
 
 FACTOR_REFERENCE
 
 OPTIONAL_INPUT
 
 KEEP_VALUES
 
 NEW_UNIQUE_NAME
 
 TIME_LOOP
 
 UNDERSCORE_NUMBER_PREFIX
 
 WRAPPER_HIDDEN
 
 WRAPPER_KEEP_LETTER_CASE
 
 WRAPPER_LAMBDA
 
 WRAPPER_USE_ATTRIBUTE_RESOURCES
 
 WRAPPER_FIXED_VARIADIC
 
 WRAPPER_COPIED_VARIADIC
 
 WRAPPER_INNER_DOMAIN
 
 WRAPPER_OUTER_DOMAIN
 
 WRAPPER_ENCLOSING_DOMAIN
 
 WRAPPER_STREAM
 
 WRAPPER_CONTEXT
 
 NO_FACTOR_NODES
 
 RUNTIME_COST_100
 
 LCV
 
 STATE_MASK
 
 EXPORT_LCV
 
 WRAPPER_FLAGS
 
 PORT_MODIFIERS
 
 PORTINFO_FLAGS
 

Macro Definition Documentation

◆ PRIVATE_MAXON_PORT_QUALIFIER

#define PRIVATE_MAXON_PORT_QUALIFIER (   name,
  mode,
  test 
)

Variable Documentation

◆ NONE

NONE

No flag set.

◆ INPUT_PORT_FLAG

INPUT_PORT_FLAG

◆ INPUT_FLAG

INPUT_FLAG

◆ OUTPUT_FLAG

OUTPUT_FLAG

◆ LCV_PREV_FLAG

LCV_PREV_FLAG

◆ LCV_NEXT_FLAG

LCV_NEXT_FLAG

◆ REDUCTION_FLAG

REDUCTION_FLAG

◆ FINAL_FLAG

FINAL_FLAG

◆ UNINITIALIZED

UNINITIALIZED

Set for a BasicMicroNode if all of its output ports shall not be initialized prior to execution of Process method.

◆ LAZY

LAZY

◆ CONSUMABLE_REQUEST

CONSUMABLE_REQUEST

◆ MODIFIERS

MODIFIERS

◆ INPUT

INPUT

◆ OUTPUT

OUTPUT

◆ LCV_PREV

LCV_PREV

◆ LCV_NEXT

LCV_NEXT

◆ REDUCTION

REDUCTION

◆ FINAL

FINAL

◆ ITERATION

ITERATION

◆ BATCH

BATCH

◆ DIRECT

DIRECT

◆ VARIADIC

VARIADIC

◆ INVALID

INVALID

◆ BASIC

BASIC

Enum value for BasicMicroNode.

◆ SEQUENCING

SEQUENCING

◆ NOP

NOP

◆ SUBTRACTIVE_DOMAIN

SUBTRACTIVE_DOMAIN

◆ JOIN

JOIN

◆ CONTROL_TRANSFER

CONTROL_TRANSFER

◆ MAX_WITHOUT_FLAG

MAX_WITHOUT_FLAG

◆ VARIABLE_MASK

VARIABLE_MASK

◆ MIN_FLAG

MIN_FLAG

◆ VALUE_PORT_MASK

VALUE_PORT_MASK

◆ INPUT_PORT_MASK

INPUT_PORT_MASK

◆ EXPORTED_PORT

EXPORTED_PORT

◆ VIRTUAL_INPUT_PORT

VIRTUAL_INPUT_PORT

◆ OUTPUT_PORT_MASK

OUTPUT_PORT_MASK

◆ VARIABLE

VARIABLE

◆ PORT_MASK

PORT_MASK

◆ VARIABLE_FRONT_MASK

VARIABLE_FRONT_MASK

◆ VARIABLE_BACK_MASK

VARIABLE_BACK_MASK

◆ VARIABLE_FRONT

VARIABLE_FRONT

◆ VARIABLE_BACK

VARIABLE_BACK

◆ FACTOR_MASK

FACTOR_MASK

◆ ROOT

ROOT

◆ WHILE_CONDITION

WHILE_CONDITION

◆ INDEFINITE_LOOP

INDEFINITE_LOOP

◆ BLOCK

BLOCK

◆ TOP_LEVEL_FACTOR_MASK

TOP_LEVEL_FACTOR_MASK

◆ FRAME_MASK

FRAME_MASK

◆ TOP_LEVEL_FRAME

TOP_LEVEL_FRAME

◆ FRAME

FRAME

◆ FACTOR_HEADER_MASK

FACTOR_HEADER_MASK

◆ BLOCK_HEADER

BLOCK_HEADER

◆ CONDITIONAL_HEADER

CONDITIONAL_HEADER

◆ DEFINITE_FACTOR_HEADER_MASK

DEFINITE_FACTOR_HEADER_MASK

◆ CONTAINER_LOOP_HEADER_MASK

CONTAINER_LOOP_HEADER_MASK

◆ CONTAINER_OUTPUT_FRONT_MASK

CONTAINER_OUTPUT_FRONT_MASK

◆ DEFINITE_FACTOR_MASK

DEFINITE_FACTOR_MASK

◆ CONTAINER_OUTPUT_ELEMENT_MASK

CONTAINER_OUTPUT_ELEMENT_MASK

◆ INDEXABLE_FACTOR_MASK

INDEXABLE_FACTOR_MASK

◆ DIMENSIONAL_FACTOR_TEST

DIMENSIONAL_FACTOR_TEST

◆ CONTAINER_LOOP_MASK

CONTAINER_LOOP_MASK

◆ DEFINITE_LOOP_HEADER

DEFINITE_LOOP_HEADER

◆ CONTAINER_LOOP_HEADER

CONTAINER_LOOP_HEADER

◆ ARRAY_LOOP_HEADER

ARRAY_LOOP_HEADER

◆ CONTAINER_LOOP

CONTAINER_LOOP

◆ ARRAY_LOOP

ARRAY_LOOP

◆ CONTAINER_OUTPUT_FRONT

CONTAINER_OUTPUT_FRONT

◆ CONTAINER_OUTPUT_ELEMENT

CONTAINER_OUTPUT_ELEMENT

◆ ARRAY_OUTPUT_ELEMENT

ARRAY_OUTPUT_ELEMENT

◆ DEFINITE_LOOP

DEFINITE_LOOP

◆ GENERIC_DEFINITE_LOOP

GENERIC_DEFINITE_LOOP

◆ INPUT_ELEMENT_MASK

INPUT_ELEMENT_MASK

◆ ARRAY_INPUT_ELEMENT

ARRAY_INPUT_ELEMENT

◆ CONTAINER_INPUT_ELEMENT

CONTAINER_INPUT_ELEMENT

◆ INPUT_MASK

INPUT_MASK

◆ OUTPUT_MASK

OUTPUT_MASK

◆ CONDITIONAL_MASK

CONDITIONAL_MASK

◆ IF

IF

◆ CONTAINER_MASK

CONTAINER_MASK

◆ CONTAINER

CONTAINER

◆ ARRAY_CONTAINER

ARRAY_CONTAINER

◆ ARRAY

ARRAY

◆ CONTAINER_OUTPUT_BACK_MASK

CONTAINER_OUTPUT_BACK_MASK

◆ CONTAINER_OUTPUT_BACK

CONTAINER_OUTPUT_BACK

◆ CONTAINER_INPUT_GROUP_MASK

CONTAINER_INPUT_GROUP_MASK

◆ CONTAINER_INPUT_GROUP

CONTAINER_INPUT_GROUP

◆ FACTOR_WITH_FACTOR_VARIABLE

FACTOR_WITH_FACTOR_VARIABLE

◆ ALL

ALL

◆ STATE_ACCESS

STATE_ACCESS

◆ LOCAL

LOCAL

◆ PERMANENT

PERMANENT

◆ CACHED

CACHED

◆ CONTAINER_MEMBER

CONTAINER_MEMBER

◆ COMMUTATIVE

COMMUTATIVE

◆ PARAMETER

PARAMETER

Set for ports added by ParameterBuilder::AddParameter, ports that don't have input/default values given by the graph (like component access ports).

◆ INPUT_WITHOUT_VALUE

INPUT_WITHOUT_VALUE

◆ OUTER_DOMAIN

OUTER_DOMAIN

◆ SUSPEND

SUSPEND

◆ INDEPENDENT

INDEPENDENT

◆ FIX_DOMAIN

FIX_DOMAIN

◆ FACTOR_REFERENCE

FACTOR_REFERENCE

◆ OPTIONAL_INPUT

OPTIONAL_INPUT

◆ KEEP_VALUES

KEEP_VALUES

◆ NEW_UNIQUE_NAME

NEW_UNIQUE_NAME

◆ TIME_LOOP

TIME_LOOP

◆ UNDERSCORE_NUMBER_PREFIX

UNDERSCORE_NUMBER_PREFIX

◆ WRAPPER_HIDDEN

WRAPPER_HIDDEN

◆ WRAPPER_KEEP_LETTER_CASE

WRAPPER_KEEP_LETTER_CASE

◆ WRAPPER_LAMBDA

WRAPPER_LAMBDA

◆ WRAPPER_USE_ATTRIBUTE_RESOURCES

WRAPPER_USE_ATTRIBUTE_RESOURCES

◆ WRAPPER_FIXED_VARIADIC

WRAPPER_FIXED_VARIADIC

◆ WRAPPER_COPIED_VARIADIC

WRAPPER_COPIED_VARIADIC

◆ WRAPPER_INNER_DOMAIN

WRAPPER_INNER_DOMAIN

Marker flag for inner-domain ports, used by the core node wrapper.

◆ WRAPPER_OUTER_DOMAIN

WRAPPER_OUTER_DOMAIN

Marker flag for outer-domain ports, used by the core node wrapper.

◆ WRAPPER_ENCLOSING_DOMAIN

WRAPPER_ENCLOSING_DOMAIN

Marker flag for enclosing-domain ports, used by the core node wrapper.

◆ WRAPPER_STREAM

WRAPPER_STREAM

Marker flag for stream ports, used by the core node wrapper.

◆ WRAPPER_CONTEXT

WRAPPER_CONTEXT

Marker flag for context ports, used by the core node wrapper.

◆ NO_FACTOR_NODES

NO_FACTOR_NODES

◆ RUNTIME_COST_100

RUNTIME_COST_100

Execution of node takes about 100x the time of a usual node.

◆ LCV

LCV

◆ STATE_MASK

STATE_MASK

◆ EXPORT_LCV

EXPORT_LCV

◆ WRAPPER_FLAGS

WRAPPER_FLAGS

◆ PORT_MODIFIERS

PORT_MODIFIERS

◆ PORTINFO_FLAGS

PORTINFO_FLAGS