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


| Public Types | |
| using | outputs_t = std::tuple< Outputs... > | 
| Accessor to the output types. | |
| Public Member Functions | |
| GraphOutputsManagementAbstraction () | |
| Default constructor. | |
| ~GraphOutputsManagementAbstraction () override=default | |
| Default destructor. | |
| auto | getBlockingResult () | 
| Get a blocking result for the outer graph from the sink. | |
|  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 | |
| std::unique_ptr< GraphSink< Outputs... > > const & | sink () const | 
| Accessor to the graph's sink. | |
| template<class OutputDataType > | |
| void | addOutputNodeToGraph (NodeAbstraction *const outputNode) | 
| Add an output node in the graph. | |
| void | disconnectSink () | 
| Disconnect the sink. | |
| void | printSink (Printer *printer) | 
| Visit the sink. | |
| void | duplicateSinkEdges (GraphOutputsManagementAbstraction< Outputs... > const &rhs, std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) | 
| Duplicate sink edges. | |
| void | duplicateOutputEdges (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) | 
| Duplicate output edges. | |
|  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. | |
| Private Member Functions | |
| template<class Output > | |
| void | disconnectSinkFromSender () | 
| Disconnect the sink from the graph's output senders. | |
| template<class Output > | |
| void | duplicateSinkEdge (GraphOutputsManagementAbstraction< Outputs... > const &rhs, std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &correspondenceMap) | 
| Duplicate sink edge. | |
| Private Attributes | |
| std::unique_ptr< GraphSink< Outputs... > > | sink_ = nullptr | 
| Graph's sink. | |
Output management abstraction for the grpah.
| Outputs | Types of output data | 
Definition at line 45 of file graph_outputs_management_abstraction.h.
| using hh::core::abstraction::GraphOutputsManagementAbstraction< Outputs >::outputs_t = std::tuple<Outputs...> | 
Accessor to the output types.
Definition at line 52 of file graph_outputs_management_abstraction.h.
| 
 | inline | 
Default constructor.
Definition at line 55 of file graph_outputs_management_abstraction.h.
| 
 | overridedefault | 
Default destructor.
| 
 | inlineprotected | 
Add an output node in the graph.
| OutputDataType | Type used to connect a node | 
| outputNode | Node to connect as output of the graph for the type OutputDataType | 
Definition at line 77 of file graph_outputs_management_abstraction.h.

| 
 | inlineprotected | 
Disconnect the sink.
Definition at line 103 of file graph_outputs_management_abstraction.h.

| 
 | inlineprivate | 
Disconnect the sink from the graph's output senders.
| Output | Type to disconnect from | 
Definition at line 146 of file graph_outputs_management_abstraction.h.

| 
 | inlineprotected | 
Duplicate output edges.
| mapping | Map from the nodes and their clones | 
Definition at line 137 of file graph_outputs_management_abstraction.h.

| 
 | inlineprivate | 
Duplicate sink edge.
| Output | Type to duplicate | 
| rhs | Graph to copy edges from | 
| correspondenceMap | Map from the nodes and their clones | 
Definition at line 164 of file graph_outputs_management_abstraction.h.

| 
 | inlineprotected | 
Duplicate sink edges.
| rhs | Graph to copy edges from | 
| mapping | Map from the nodes and their clones | 
Definition at line 130 of file graph_outputs_management_abstraction.h.
| 
 | inline | 
Get a blocking result for the outer graph from the sink.
Definition at line 66 of file graph_outputs_management_abstraction.h.
| 
 | inlineprotected | 
Visit the sink.
| printer | Printer visits gathering data from the nodes | 
Definition at line 121 of file graph_outputs_management_abstraction.h.
| 
 | inlineprotected | 
Accessor to the graph's sink.
Definition at line 71 of file graph_outputs_management_abstraction.h.
| 
 | private | 
Graph's sink.
Definition at line 49 of file graph_outputs_management_abstraction.h.