Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Behavior abstraction for tasks that send multiple types of data. More...
#include "task_multi_senders.h"
Public Member Functions | |
template<tool::MultiSendersAndNotifierAbstractionConcept MultiSendersAndNotifier> | |
TaskMultiSenders (std::shared_ptr< MultiSendersAndNotifier > abstraction) | |
Default constructor. | |
virtual | ~TaskMultiSenders ()=default |
Default destructor. | |
![]() | |
MultiSenders ()=default | |
Default constructor. | |
virtual | ~MultiSenders ()=default |
Default destructor. | |
Protected Member Functions | |
template<tool::MatchOutputTypeConcept< Outputs... > DataType> | |
void | addResult (std::shared_ptr< DataType > data) |
Add result and send it to the task successors. | |
Private Attributes | |
std::shared_ptr< core::abstraction::TaskOutputsManagementAbstraction< Outputs... > > | tom_ = nullptr |
Link to the task's core TaskOutputsManagementAbstraction. | |
Additional Inherited Members | |
![]() | |
using | outputs_t = std::tuple< Outputs... > |
Accessor of output data type. | |
Behavior abstraction for tasks that send multiple types of data.
Outputs | Types of data the task sends |
Definition at line 35 of file task_multi_senders.h.
|
inlineexplicit |
Default constructor.
MultiSendersAndNotifier | Type of core that has to implement TaskOutputsManagementAbstraction |
abstraction | Core's abstraction of type MultiSendersAndNotifier |
std::runtime_error | The abstraction is not valid (== nullptr) |
Definition at line 46 of file task_multi_senders.h.
|
virtualdefault |
Default destructor.
|
inlineprotected |
Add result and send it to the task successors.
DataType | Type of the data, should be part of the task Output types |
data | Data of type DataType sent to the task successors |
std::runtime_error | The TaskOutputsManagementAbstraction abstraction is not initialized (== nullptr) |
Definition at line 63 of file task_multi_senders.h.
|
private |
Link to the task's core TaskOutputsManagementAbstraction.
Definition at line 38 of file task_multi_senders.h.