CoreNodeWrapperLib Class Reference

#include <corenode_wrapper.h>

Detailed Description

CoreNodeWrapperLib provides a set of static methods for the creation and management of node systems.

Public Types

enum class  FLAGS {
  NONE ,
  KEEP_LETTER_CASE ,
  NO_ORDERINDEX ,
  SETUP_NAMES
}
 
using NodeFinalizer = Delegate< Result< void >(const MutableRoot &root, const TemplateArguments &args)>
 
using PortMapping = Delegate< Result< BaseArray< InternedId > >(PORT_DIR dir, const Id &port)>
 
using WrapperFinalizer = Delegate< Result< void >(CoreNodeWrapper &wrapper)>
 

Public Member Functions

enum maxon::nodes::CoreNodeWrapperLib::FLAGS MAXON_ENUM_FLAGS_CLASS (FLAGS)
 

Static Public Member Functions

static MAXON_METHOD Result< CoreNodeWrapper > Wrap (const corenodes::CoreNodeFactory &factory)
 
static MAXON_METHOD Result< CoreNodeWrapper > Wrap (const corenodes::CoreNodeFactory &factory, PortMapping &&mapping, NodeFinalizer &&nfinalizer, FLAGS flags=FLAGS::NONE)
 
static MAXON_METHOD Result< CoreNodeWrapper > Wrap (const corenodes::CoreNode &cls, FLAGS flags=FLAGS::NONE)
 
static MAXON_METHOD Result< CoreNodeWrapper > Wrap (const corenodes::CoreNode &cls, PortMapping &&mapping, NodeFinalizer &&nfinalizer, FLAGS flags=FLAGS::NONE)
 
static Result< CoreNodeWrapper > Wrap (corenodes::IdOrBuilder &&nodeId, NodeFinalizer &&nfinalizer=NodeFinalizer())
 
template<typename CORENODE >
static Result< CoreNodeWrapper > Wrap (const Id &coreNodeId, FLAGS flags=FLAGS::NONE)
 
template<typename CORENODE , typename... ARGS>
static Result< CoreNodeWrapper > Wrap (const Id &coreNodeId, NodeFinalizer &&nfinalizer, ARGS &&... args)
 
template<typename... T>
static Result< CoreNodeWrapper > WrapCoreNodeOverload (const Char *baseId, NodeFinalizer &&nfinalizer=NodeFinalizer())
 
static MAXON_METHOD Result< NodeTemplate > CreateGenericWrapper (const Block< const Id > &topLevelChoices, const InternedId &topLevelSelector, const Block< const InternedId > &nestedSelectors, Bool autoOverloadResolution, WrapperFinalizer &&wfinalizer, NodeFinalizer &&nfinalizer)
 
static MAXON_METHOD Result< NodeTemplate > CreateGenericWrapper (const EnumDataType &topLevelChoices, const Block< const Id > &topLevelCoreNodeIds, const InternedId &topLevelSelector, const Block< const InternedId > &nestedSelectors, Bool autoOverloadResolution, WrapperFinalizer &&wfinalizer, NodeFinalizer &&nfinalizer)
 
static MAXON_METHOD Result< void > ConfigureDomainPort (const MutablePort &port, corenodes::MicroNode::FLAGS flags)
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (CoreNodeWrapperLib, MAXON_REFERENCE_STATIC, "net.maxon.node.interface.corenodewrapperlib")
 

Member Typedef Documentation

◆ NodeFinalizer

using NodeFinalizer = Delegate<Result<void>(const MutableRoot& root, const TemplateArguments& args)>

◆ PortMapping

using PortMapping = Delegate<Result<BaseArray<InternedId> >(PORT_DIR dir, const Id& port)>

◆ WrapperFinalizer

using WrapperFinalizer = Delegate<Result<void>(CoreNodeWrapper& wrapper)>

Member Enumeration Documentation

◆ FLAGS

enum FLAGS
strong
Enumerator
NONE 
KEEP_LETTER_CASE 
NO_ORDERINDEX 
SETUP_NAMES 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( CoreNodeWrapperLib  ,
MAXON_REFERENCE_STATIC  ,
"net.maxon.node.interface.corenodewrapperlib"   
)
private

◆ MAXON_ENUM_FLAGS_CLASS()

enum maxon::nodes::CoreNodeWrapperLib::FLAGS MAXON_ENUM_FLAGS_CLASS ( FLAGS  )

◆ Wrap() [1/7]

static MAXON_METHOD Result<CoreNodeWrapper> Wrap ( const corenodes::CoreNodeFactory factory)
static

◆ Wrap() [2/7]

static MAXON_METHOD Result<CoreNodeWrapper> Wrap ( const corenodes::CoreNodeFactory factory,
PortMapping &&  mapping,
NodeFinalizer &&  nfinalizer,
FLAGS  flags = FLAGS::NONE 
)
static

◆ Wrap() [3/7]

static MAXON_METHOD Result<CoreNodeWrapper> Wrap ( const corenodes::CoreNode &  cls,
FLAGS  flags = FLAGS::NONE 
)
static

◆ Wrap() [4/7]

static MAXON_METHOD Result<CoreNodeWrapper> Wrap ( const corenodes::CoreNode &  cls,
PortMapping &&  mapping,
NodeFinalizer &&  nfinalizer,
FLAGS  flags = FLAGS::NONE 
)
static

◆ Wrap() [5/7]

static Result<CoreNodeWrapper> Wrap ( corenodes::IdOrBuilder &&  nodeId,
NodeFinalizer &&  nfinalizer = NodeFinalizer() 
)
static

◆ Wrap() [6/7]

static Result<CoreNodeWrapper> Wrap ( const Id coreNodeId,
FLAGS  flags = FLAGS::NONE 
)
static

◆ Wrap() [7/7]

static Result<CoreNodeWrapper> Wrap ( const Id coreNodeId,
NodeFinalizer &&  nfinalizer,
ARGS &&...  args 
)
static

◆ WrapCoreNodeOverload()

static Result<CoreNodeWrapper> WrapCoreNodeOverload ( const Char baseId,
NodeFinalizer &&  nfinalizer = NodeFinalizer() 
)
static

◆ CreateGenericWrapper() [1/2]

static MAXON_METHOD Result<NodeTemplate> CreateGenericWrapper ( const Block< const Id > &  topLevelChoices,
const InternedId topLevelSelector,
const Block< const InternedId > &  nestedSelectors,
Bool  autoOverloadResolution,
WrapperFinalizer &&  wfinalizer,
NodeFinalizer &&  nfinalizer 
)
static

◆ CreateGenericWrapper() [2/2]

static MAXON_METHOD Result<NodeTemplate> CreateGenericWrapper ( const EnumDataType topLevelChoices,
const Block< const Id > &  topLevelCoreNodeIds,
const InternedId topLevelSelector,
const Block< const InternedId > &  nestedSelectors,
Bool  autoOverloadResolution,
WrapperFinalizer &&  wfinalizer,
NodeFinalizer &&  nfinalizer 
)
static

◆ ConfigureDomainPort()

static MAXON_METHOD Result<void> ConfigureDomainPort ( const MutablePort port,
corenodes::MicroNode::FLAGS  flags 
)
static