| 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.
