Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Output management abstraction for the execution pipeline. More...
#include "execution_pipeline_outputs_management_abstraction.h"
Public Member Functions | |
ExecutionPipelineOutputsManagementAbstraction () | |
Default constructor. | |
~ExecutionPipelineOutputsManagementAbstraction () override=default | |
Default destructor. | |
void | registerGraphOutputNodes (std::shared_ptr< GraphOutputsManagementAbstraction< Outputs... > > coreGraph) |
Register output node as output of the execution pipeline. | |
void | duplicateOutputEdges (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
Duplicate output edges. | |
![]() | |
NotifierAbstraction (std::shared_ptr< implementor::ImplementorNotifier > notifier) | |
Constructor utilising a concrete implementation. | |
virtual | ~NotifierAbstraction ()=default |
Default destructor. | |
std::set< NotifierAbstraction * > const & | notifiers () const |
Const accessor to notifiers. | |
std::set< NotifierAbstraction * > & | notifiers () |
Accessor to notifiers. | |
void | addSlot (SlotAbstraction *const slot) |
Add a SlotAbstraction to this notifier. | |
void | removeSlot (SlotAbstraction *const slot) |
Remove SlotAbstraction from this notifier. | |
std::set< SlotAbstraction * > const & | connectedSlots () const |
Accessor to the slots attached to this notifier. | |
void | notify () |
Notify a slot to wake up. | |
void | notifyAllTerminated () |
Notifier all slots that this node is terminated. | |
![]() | |
SenderAbstraction (std::shared_ptr< implementor::ImplementorSender< Outputs > > concreteSender) | |
Constructor using the concrete implementation. | |
virtual | ~SenderAbstraction ()=default |
Default destructor. | |
std::set< SenderAbstraction< Outputs > * > const & | senders () const |
Const accessor to senders. | |
std::set< SenderAbstraction< Outputs > * > & | senders () |
Accessor to senders. | |
std::set< ReceiverAbstraction< Outputs > * > const & | connectedReceivers () const |
Accessor to the receivers attached to this SenderAbstraction. | |
void | addReceiver (ReceiverAbstraction< Outputs > *const receiver) |
Add a ReceiverAbstraction. | |
void | removeReceiver (ReceiverAbstraction< Outputs > *const receiver) |
Remove a ReceiverAbstraction. | |
void | send (std::shared_ptr< Outputs > data) |
Send a data as output of the node. | |
Private Member Functions | |
template<class Output > | |
void | registerGraphSender (std::shared_ptr< SenderAbstraction< Output > > coreGraphSender) |
Register output node as output of the execution pipeline for a type. | |
Additional Inherited Members | |
![]() | |
void | duplicateEdgeNotifier (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
Duplicate edges of the current notifier to slots to clone in map. | |
![]() | |
void | copyInnerStructure (SenderAbstraction< Outputs > *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. | |
Output management abstraction for the execution pipeline.
Outputs | Types of output data |
Definition at line 38 of file execution_pipeline_outputs_management_abstraction.h.
|
inlineexplicit |
Default constructor.
Definition at line 44 of file execution_pipeline_outputs_management_abstraction.h.
|
overridedefault |
Default destructor.
|
inline |
Duplicate output edges.
mapping | Map from a node and its clone |
Definition at line 62 of file execution_pipeline_outputs_management_abstraction.h.
|
inline |
Register output node as output of the execution pipeline.
coreGraph | Core graph to register as output |
Definition at line 53 of file execution_pipeline_outputs_management_abstraction.h.
|
inlineprivate |
Register output node as output of the execution pipeline for a type.
Output | Type of the graph output to register |
coreGraphSender | Core graph to register as output |
Definition at line 72 of file execution_pipeline_outputs_management_abstraction.h.