19#ifndef HEDGEHOG_EXECUTION_PIPELINE_OUTPUTS_MANAGEMENT_ABSTRACTION_H_ 
   20#define HEDGEHOG_EXECUTION_PIPELINE_OUTPUTS_MANAGEMENT_ABSTRACTION_H_ 
   22#include "../base/input_output/notifier_abstraction.h" 
   23#include "../base/input_output/sender_abstraction.h" 
   24#include "../../implementors/concrete_implementor/graph/graph_notifier.h" 
   25#include "../../implementors/concrete_implementor/graph/graph_sender.h" 
   33namespace abstraction {
 
   37template<
class ...Outputs>
 
   46        SenderAbstraction<Outputs>(std::make_shared<implementor::GraphSender<Outputs>>())...{}
 
   55    for(
auto outputNodeNotifier : coreGraph->notifiers()){
 
   56      this->
notifiers().insert(outputNodeNotifier);
 
   71  template <
class Output>
 
   73    for(
auto outputNodeSender : coreGraphSender->senders()){
 
Core abstraction to notify slots.
void duplicateEdgeNotifier(std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping)
Duplicate edges of the current notifier to slots to clone in map.
std::set< NotifierAbstraction * > const & notifiers() const
Const accessor to notifiers.
Core abstraction to send data.
void duplicateEdgeSender(std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping)
Duplicate edges of the current sender to receiver to clone in map.
Base core node abstraction.
Output management abstraction for the execution pipeline.
ExecutionPipelineOutputsManagementAbstraction()
Default constructor.
void duplicateOutputEdges(std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping)
Duplicate output edges.
~ExecutionPipelineOutputsManagementAbstraction() override=default
Default destructor.
void registerGraphOutputNodes(std::shared_ptr< GraphOutputsManagementAbstraction< Outputs... > > coreGraph)
Register output node as output of the execution pipeline.
void registerGraphSender(std::shared_ptr< SenderAbstraction< Output > > coreGraphSender)
Register output node as output of the execution pipeline for a type.
Output management abstraction for the grpah.