MicroNode is the base class of all micro node implementation classes such as BasicMicroNode or BatchMicroNode. To implement a new custom micro node, you usually write a subclass of BasicMicroNode.
There is a 1:1 correspondence between a MicroNodeInterface instance and a MicroNode instance: Each MicroNodeInterface instance holds its own MicroNode instance, see MicroNodeInterface::GetImplementation() and MicroNode::GetNode().
Although MicroNode itself has no data members, it is ensured by its subclasses that the data layout always starts with MicroNode::Base. MicroNode::ToBase() does the corresponding cast.
|
enum | TYPE {
INVALID,
BASIC,
BATCH,
SPLIT_MERGE,
ITERATION,
SEQUENCING,
RECURSION_STEP,
LIST_INPUT_GROUP,
PREVIOUS_ITERATION_VALUE,
COPY,
VARIABLE_MASK,
VALUE_PORT_MASK,
INPUT_PORT_MASK,
EXPORTED_PORT,
VIRTUAL_INPUT_PORT,
OUTPUT_PORT_MASK,
VARIABLE,
PORT_MASK,
FACTOR_MASK,
ROOT,
SWITCH,
CASE,
WHILE_CONDITION,
INDEFINITE_LOOP,
TOP_LEVEL_FACTOR_MASK,
FRAME_MASK,
TOP_LEVEL_FRAME,
FRAME,
PARAMETER_MASK,
PARAMETERS,
EVENT_MASK,
EVENT,
DIMENSIONAL_HEAD_MASK,
INDEFINITE_LOOP_HEAD,
RECURSION_HEAD,
DEFINITE_FACTOR_HEAD_MASK,
DEFINITE_LOOP_HEAD,
CONTAINER_OUTPUT_HEAD_MASK,
CONTAINER_OUTPUT_HEAD,
ARRAY_OUTPUT_HEAD,
CONTAINER_LOOP_MASK,
CONTAINER_LOOP,
ARRAY_LOOP,
CONTAINER_LOOP_HEAD_MASK,
CONTAINER_LOOP_HEAD,
ARRAY_LOOP_HEAD,
CONTAINER_FACTOR_MASK,
DEFINITE_FACTOR_MASK,
DEFINITE_LOOP,
OTHER_FACTOR_MASK,
RECURSION,
DIMENSIONAL_FACTOR_MASK,
INPUT_ELEMENT_MASK,
ARRAY_INPUT_ELEMENT,
LIST_INPUT_ELEMENT,
INPUT_MASK,
FACTOR_REFERENCE_MASK,
FACTOR_REFERENCE,
CONTAINER_OUTPUT_ELEMENT,
ARRAY_OUTPUT_ELEMENT,
LIST_PARAMETER,
ARRAY_PARAMETER,
OUTPUT_MASK,
LIST_MASK,
LIST,
ARRAY,
CONTAINER_OUTPUT_MASK,
CONTAINER_OUTPUT,
ALL
} |
|
enum | FLAGS {
NONE,
STATE,
STATE_MODIFIER,
LOCAL,
PERMANENT,
CACHED,
HIDDEN,
PREVIOUS_ITV,
CURRENT_ITV,
PORT_MODIFIERS,
CONTAINER_MEMBER,
COMMUTATIVE,
STATE_MAPPER,
BOUND_TO_THREAD,
PARAMETER,
INPUT_WITHOUT_VALUE,
MODIFIERS,
ALL
} |
|
enum | PORTSACCESS_FLAGS {
NONE,
ITERATION,
CONTAINER_MASK,
CONST_MASK,
BATCH,
BATCH_ACCESS,
CONTAINER,
CONST_CONTAINER,
DIRECT_ACCESS_TEST
} |
|
template<typename PORT > |
using | Input = typename PORT::PrivateInput |
|
template<typename... PORTS> |
using | Ports = typename PortsAccess< PORTSACCESS_FLAGS::NONE, PORTS... >::Members |
|