PortOut is the abstract PIN base class dedicated to exchange data from a target class to other ones (output). More...
#include <InOut.hpp>
Public Member Functions | |
PortOut () | |
PortOut (const PortOut &other) | |
virtual | ~PortOut () |
void | cleanBuffer () |
void | clear () |
void | clear (int j) |
void | exec () |
DataType | getDataType () |
std::vector< BaseManipulation * > | getLink () |
std::vector< PortID > | getPortLink () |
bool | operator== (const PortOut &other) |
virtual void | writeBuffer ()=0 |
Public Attributes | |
DataType | m_datatype |
std::vector< BaseManipulation * > | m_objLink |
mimmo::OBinaryStream | m_obuffer |
std::vector< PortID > | m_portLink |
Detailed Description
PortOut is the abstract PIN base class dedicated to exchange data from a target class to other ones (output).
A PIN is an object member of BaseManipulation object. Through a PIN two base manipulation objects are linked together. One of these two objects is the parent object that gives an output to the other one that takes this value as input.
The class store the following data:
- a buffer to communicate output data (m_obuffer)
- a list of pointer to BaseManipulation receivers (m_objLink)
- a list of Ports identifiers (string basically), marking the input ports of receivers, where the data will be sent (m_portLink)
- information on the container and data type exchanged (m_datatype)
In general, a set of data (still not specified in this abstract class) of type m_datatype, written in a buffer stream m_obuffer, will be sent to a list of BaseManipulation objects/receivers. Input ports of receivers are responsible to decode the data buffer sent, and make available the data to their respective receveir.
The execution of the output PortT will automatically exchange the buffer data, pass it to the input ports connected and makes them reading and decoding the data.
Constructor & Destructor Documentation
◆ PortOut() [1/2]
◆ ~PortOut()
|
virtual |
◆ PortOut() [2/2]
mimmo::PortOut::PortOut | ( | const PortOut & | other | ) |
Member Function Documentation
◆ cleanBuffer()
void mimmo::PortOut::cleanBuffer | ( | ) |
◆ clear() [1/2]
void mimmo::PortOut::clear | ( | ) |
◆ clear() [2/2]
void mimmo::PortOut::clear | ( | int | j | ) |
◆ exec()
void mimmo::PortOut::exec | ( | ) |
◆ getDataType()
DataType mimmo::PortOut::getDataType | ( | ) |
◆ getLink()
std::vector< mimmo::BaseManipulation * > mimmo::PortOut::getLink | ( | ) |
◆ getPortLink()
std::vector< PortID > mimmo::PortOut::getPortLink | ( | ) |
◆ operator==()
bool mimmo::PortOut::operator== | ( | const PortOut & | other | ) |
◆ writeBuffer()
|
pure virtual |
Pure virtual function to write a buffer.
Implemented in mimmo::PortOutT< T, O >.
Member Data Documentation
◆ m_datatype
DataType mimmo::PortOut::m_datatype |
◆ m_objLink
std::vector<BaseManipulation*> mimmo::PortOut::m_objLink |
◆ m_obuffer
mimmo::OBinaryStream mimmo::PortOut::m_obuffer |
◆ m_portLink
std::vector<PortID> mimmo::PortOut::m_portLink |
The documentation for this class was generated from the following files: