|
Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Output management abstraction for the task. More...
#include "task_outputs_management_abstraction.h"


Public Types | |
| using | outputs_t = std::tuple< Outputs... > |
| Accessor to the graph outputs type. | |
Public Member Functions | |
| TaskOutputsManagementAbstraction () | |
| Default constructor. | |
| template<hh::tool::ConcreteMultiSenderImplementation< Outputs... > ConcreteMultiSenders> | |
| TaskOutputsManagementAbstraction (std::shared_ptr< implementor::ImplementorNotifier > concreteNotifier, std::shared_ptr< ConcreteMultiSenders > concreteMultiSenders) | |
| Constructor using concrete implementation of the possible core abstraction. | |
| ~TaskOutputsManagementAbstraction () override=default | |
| Default destructor. | |
| template<tool::ContainsConcept< Outputs... > OutputDataType> | |
| void | sendAndNotify (std::shared_ptr< OutputDataType > data) |
| Send a piece of data and notify the successors. | |
Public Member Functions inherited from hh::core::abstraction::NotifierAbstraction | |
| 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. | |
Public Member Functions inherited from hh::core::abstraction::SenderAbstraction< Outputs > | |
| 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. | |
Protected Member Functions | |
| void | copyInnerStructure (TaskOutputsManagementAbstraction< Outputs... > *copyableCore) |
| Copy the inner structure from another task. | |
| void | duplicateOutputEdges (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
| Duplicate the output edges for the node clone. | |
Protected Member Functions inherited from hh::core::abstraction::NotifierAbstraction | |
| void | duplicateEdgeNotifier (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
| Duplicate edges of the current notifier to slots to clone in map. | |
Protected Member Functions inherited from hh::core::abstraction::SenderAbstraction< Outputs > | |
| 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 task.
| Outputs | Types of output data |
Definition at line 45 of file task_outputs_management_abstraction.h.
| using hh::core::abstraction::TaskOutputsManagementAbstraction< Outputs >::outputs_t = std::tuple<Outputs...> |
Accessor to the graph outputs type.
Definition at line 47 of file task_outputs_management_abstraction.h.
|
inline |
Default constructor.
Definition at line 50 of file task_outputs_management_abstraction.h.
|
inline |
Constructor using concrete implementation of the possible core abstraction.
| ConcreteMultiSenders | Type of the concrete implementation of the senders abstraction |
| concreteNotifier | Concrete implementation of the notifier abstraction |
| concreteMultiSenders | Concrete implementation of the senders abstraction |
Definition at line 59 of file task_outputs_management_abstraction.h.
|
overridedefault |
Default destructor.
|
inlineprotected |
Copy the inner structure from another task.
| copyableCore | Core task to copy inner structure from |
Definition at line 81 of file task_outputs_management_abstraction.h.

|
inlineprotected |
Duplicate the output edges for the node clone.
| mapping | Map of the nodes and their clones |
Definition at line 87 of file task_outputs_management_abstraction.h.

|
inline |
Send a piece of data and notify the successors.
| OutputDataType | Type of data |
| data | Data to send |
Definition at line 72 of file task_outputs_management_abstraction.h.
