VariadicPort< T, OUTPUT, AS_INPUT > Class Template Reference

#include <variadic_port.h>

详细描述

template<typename T, Bool OUTPUT, Bool AS_INPUT>
class maxon::corenodes::VariadicPort< T, OUTPUT, AS_INPUT >

VariadicPort manages ports with a dynamic number of instances. The usage is documented at MicroNodeInterface::AddVariadicPort .

Classes

class   Access
class   端口

Public Types

using  PortId = typename std::conditional< OUTPUT , MicroNodePtr <>, InPortId >::type

公共成员函数

Result < void >  Init ( MicroNodeGroupInterface *node, const Block < const Member > &members, MicroNode::FLAGS flags= MicroNode::FLAGS::NONE )
Result < void >  Init ( MicroNodeGroupInterface *node, const CString &prefix, Int count, Int base, MicroNode::FLAGS flags= MicroNode::FLAGS::NONE , const DataType &type= GetPortType < T >())
template<typename SUFFIXES >
Result < void >  Init ( MicroNodeGroupInterface *node, const CString &prefix, const SUFFIXES &suffixes, MicroNode::FLAGS flags= MicroNode::FLAGS::NONE , const DataType &type= GetPortType < T >())
Result < void >  SetType ( Int index, const DataType &type)
template<typename MNI >
Result < void >  ConnectMicroNode ( MicroNodePtr < MNI > node, Access MNI::*a, WIRETYPE wtype= DEFAULT_WIRE )
BaseArray < PortId > &  GetPorts ()

静态公共成员函数

static Result < VariadicPort 创建 ( MicroNodeGroupInterface *node, const CString &prefix, Int count, Int base, MicroNode::FLAGS flags= MicroNode::FLAGS::NONE )
static Result < VariadicPort 创建 ( MicroNodeGroupInterface *node, const CString &prefix, const 数据 &arg, const DataType &type= GetPortType < T >(), MicroNode::FLAGS flags= MicroNode::FLAGS::NONE )
static Result < VariadicPort 创建 ( MicroNodeGroupInterface *node, const Block < const Member > &members, MicroNode::FLAGS flags= MicroNode::FLAGS::NONE )

静态公共属性

static constexpr WIRETYPE   DEFAULT_WIRE
static constexpr MicroNode::TYPE   PORT_TYPE

Static Private Member Functions

static void  赋值 ( InPortId &p, MicroNodePtr <> ptr, MicroNodeGroupInterface *node, const Id &name)
static void  赋值 ( MicroNodePtr <> &p, MicroNodePtr <> ptr, MicroNodeGroupInterface *node, const Id &name)

Private Attributes

MicroNodeGroupRef  _group
BaseArray < PortId _ports
Bool   _template
CString   _prefix

Member Typedef Documentation

◆  PortId

using PortId = typename std::conditional< OUTPUT , MicroNodePtr <>, InPortId >::type

成员函数文档编制

◆  Create() [1/3]

static Result < VariadicPort > Create ( MicroNodeGroupInterface node ,
const CString prefix ,
Int   count ,
Int   base ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE  
)
static

◆  Create() [2/3]

static Result < VariadicPort > Create ( MicroNodeGroupInterface node ,
const CString prefix ,
const 数据 arg ,
const DataType type = GetPortType<T>() ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE  
)
static

◆  Create() [3/3]

static Result < VariadicPort > Create ( MicroNodeGroupInterface node ,
const Block < const Member > &  members ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE  
)
static

◆  Init() [1/3]

Result <void> Init ( MicroNodeGroupInterface node ,
const Block < const Member > &  members ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE  
)

◆  Init() [2/3]

Result <void> Init ( MicroNodeGroupInterface node ,
const CString prefix ,
Int   count ,
Int   base ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE ,
const DataType type = GetPortType<T>()  
)

◆  Init() [3/3]

Result <void> Init ( MicroNodeGroupInterface node ,
const CString prefix ,
const SUFFIXES &  suffixes ,
MicroNode::FLAGS   flags = MicroNode::FLAGS::NONE ,
const DataType type = GetPortType<T>()  
)

◆  SetType()

Result <void> SetType ( Int   index ,
const DataType type  
)

◆  ConnectMicroNode()

Result <void> ConnectMicroNode ( MicroNodePtr < MNI >  node ,
Access MNI::*  a ,
WIRETYPE   wtype = DEFAULT_WIRE  
)

◆  GetPorts()

BaseArray < PortId >& GetPorts ( )

◆  Assign() [1/2]

static void Assign ( InPortId p ,
MicroNodePtr <>  ptr ,
MicroNodeGroupInterface node ,
const Id name  
)
static private

◆  Assign() [2/2]

static void Assign ( MicroNodePtr <> &  p ,
MicroNodePtr <>  ptr ,
MicroNodeGroupInterface node ,
const Id name  
)
static private

Member Data Documentation

◆  DEFAULT_WIRE

constexpr WIRETYPE DEFAULT_WIRE
static constexpr

◆  PORT_TYPE

constexpr MicroNode::TYPE PORT_TYPE
static constexpr

◆  _group

MicroNodeGroupRef _group private

◆  _ports

BaseArray < PortId > _ports
private

◆  _template

Bool _template
private

◆  _prefix

CString _prefix
private