#include <variadic_port.h>
VariadicPort manages ports with a dynamic number of instances. The usage is documented at MicroNodeInterface::AddVariadicPort.
Classes | |
| class | Access |
| class | Ports |
Public Types | |
| using | PortId = typename std::conditional< OUTPUT, MicroNodePtr<>, InPortId >::type |
Public Member Functions | |
| 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 () |
| Int | GetCount () const |
Static Public Member Functions | |
| static Result< VariadicPort > | Create (MicroNodeGroupInterface *node, const CString &prefix, Int count, Int base, MicroNode::FLAGS flags=MicroNode::FLAGS::NONE) |
| static Result< VariadicPort > | Create (MicroNodeGroupInterface *node, const CString &prefix, const Data &arg, const DataType &type=GetPortType< T >(), MicroNode::FLAGS flags=MicroNode::FLAGS::NONE) |
| static Result< VariadicPort > | Create (MicroNodeGroupInterface *node, const Block< const Member > &members, MicroNode::FLAGS flags=MicroNode::FLAGS::NONE) |
Static Public Attributes | |
| static constexpr WIRETYPE | DEFAULT_WIRE |
| static constexpr MicroNode::TYPE | PORT_TYPE |
Static Private Member Functions | |
| static void | Assign (InPortId &p, MicroNodePtr<> ptr, MicroNodeGroupInterface *node, const Id &name) |
| static void | Assign (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> ConnectMicroNode | ( | MicroNodePtr< MNI > | node, |
| Access MNI::* | a, | ||
| WIRETYPE | wtype = DEFAULT_WIRE |
||
| ) |
| Int GetCount | ( | ) | const |
|
staticprivate |
|
staticprivate |
|
staticconstexpr |
|
staticconstexpr |
|
private |
|
private |
|
private |