Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Core abstraction to send data. More...
#include "sender_abstraction.h"
Public Member Functions | |
SenderAbstraction (std::shared_ptr< implementor::ImplementorSender< Output > > concreteSender) | |
Constructor using the concrete implementation. | |
virtual | ~SenderAbstraction ()=default |
Default destructor. | |
std::set< SenderAbstraction< Output > * > const & | senders () const |
Const accessor to senders. | |
std::set< SenderAbstraction< Output > * > & | senders () |
Accessor to senders. | |
std::set< ReceiverAbstraction< Output > * > const & | connectedReceivers () const |
Accessor to the receivers attached to this SenderAbstraction. | |
void | addReceiver (ReceiverAbstraction< Output > *const receiver) |
Add a ReceiverAbstraction. | |
void | removeReceiver (ReceiverAbstraction< Output > *const receiver) |
Remove a ReceiverAbstraction. | |
void | send (std::shared_ptr< Output > data) |
Send a data as output of the node. | |
Protected Member Functions | |
void | copyInnerStructure (SenderAbstraction< Output > *copyableCore) |
Copy inner structure of the sender to this one. | |
void | duplicateEdgeSender (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
Duplicate edges of the current sender to receiver to clone in map. | |
Private Attributes | |
std::shared_ptr< implementor::ImplementorSender< Output > > | concreteSender_ = nullptr |
Concrete implementation of the sender used in the node. | |
Core abstraction to send data.
Output | Data type to send |
Definition at line 48 of file sender_abstraction.h.
|
inlineexplicit |
Constructor using the concrete implementation.
concreteSender | Sender concrete implementation |
Definition at line 56 of file sender_abstraction.h.
|
virtualdefault |
Default destructor.
|
inline |
Add a ReceiverAbstraction.
receiver | ReceiverAbstraction to add |
Definition at line 84 of file sender_abstraction.h.
|
inline |
Accessor to the receivers attached to this SenderAbstraction.
Definition at line 78 of file sender_abstraction.h.
|
inlineprotected |
Copy inner structure of the sender to this one.
copyableCore | SenderAbstraction to copy into this |
Definition at line 97 of file sender_abstraction.h.
|
inlineprotected |
Duplicate edges of the current sender to receiver to clone in map.
mapping | Map of the nodes -> clone |
throw | std::runtime_error if the current node is not mapped to its clone, if the clone is not a ReceiverAbstraction, if a slot is not a node |
Definition at line 105 of file sender_abstraction.h.
|
inline |
Remove a ReceiverAbstraction.
receiver | ReceiverAbstraction to remove |
Definition at line 88 of file sender_abstraction.h.
|
inline |
Send a data as output of the node.
data | Data to send to successor node or output of the graph |
Definition at line 92 of file sender_abstraction.h.
|
inline |
Accessor to senders.
Present the senders linked to this abstraction, usually one, may be multiple for the graph presenting all of the output node senders
Definition at line 74 of file sender_abstraction.h.
|
inline |
Const accessor to senders.
Present the senders linked to this abstraction, usually one, may be multiple for the graph presenting all of the output node senders
Definition at line 68 of file sender_abstraction.h.
|
private |
Concrete implementation of the sender used in the node.
Definition at line 51 of file sender_abstraction.h.