VariadicPort< T, OUTPUT, AS_INPUT > Class Template Reference
#include <variadic_port.h>
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 |
using PortId = typename std::conditional< OUTPUT , MicroNodePtr <>, InPortId >::type |
|
static |
|
static |
|
static |
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>()
|
||
) |
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 | ||
) |
Result <void> ConnectMicroNode | ( | MicroNodePtr < MNI > | node , |
Access MNI::* | a , | ||
WIRETYPE |
wtype
=
DEFAULT_WIRE
|
||
) |
BaseArray < PortId >& GetPorts | ( | ) |
|
static private |
|
static private |
|
static constexpr |
|
static constexpr |
MicroNodeGroupRef _group | private |
|
private |
|
private |
|
private |