| Hedgehog
    3.1.0
    A library to generate hybrid pipeline workflow systems | 
Source of the graph, only used in an outer graph. More...
#include "graph_source.h"


| Public Member Functions | |
| GraphSource () | |
| Default constructor. | |
| ~GraphSource () override=default | |
| Default destructor. | |
| template<class Input > | |
| void | sendAndNotifyAllInputs (std::shared_ptr< Input > &data) | 
| Send a piece of data to all input nodes and notify them. | |
| void | print (Printer *printer) | 
| Gather source information. | |
| std::vector< std::pair< std::string const, std::string const > > | ids () const override | 
| Node ids [nodeId, nodeGroupId] accessor. | |
| behavior::Node * | node () const override | 
| Getter to the node counterpart. | |
|  Public Member Functions inherited from hh::core::abstraction::NodeAbstraction | |
| NodeAbstraction (std::string name) | |
| Core node constructor using the core's name. | |
| virtual | ~NodeAbstraction ()=default | 
| DEfault destructor. | |
| std::string const & | name () const | 
| Accessor to the core's name. | |
| virtual std::string | id () const | 
| Core's id ('x' + address of abstraction) as string. | |
| bool | isRegistered () const | 
| Accessor to registration flag. | |
| GraphNodeAbstraction * | belongingGraph () const | 
| Belonging graph accessor. | |
| virtual int | deviceId () const | 
| Get the device identifier (got from belonging graph) | |
| virtual size_t | graphId () const | 
| Get the graph identifier (got from belonging graph) | |
| std::chrono::nanoseconds const & | executionDuration () const | 
| Execution duration. | |
| std::chrono::time_point< std::chrono::system_clock > const & | startExecutionTimeStamp () const | 
| Accessor to the starting execution timestamp. | |
| void | startExecutionTimeStamp (std::chrono::time_point< std::chrono::system_clock > const &startExecutionTimeStamp) | 
| Setter to the starting execution timestamp. | |
| void | incrementExecutionDuration (std::chrono::nanoseconds const &exec) | 
| Increment execution duration. | |
| virtual void | registerNode (GraphNodeAbstraction *belongingGraph) | 
| Register node to the given graph. | |
| virtual std::vector< std::pair< std::string const, std::string const > > | ids () const =0 | 
| Node ids [nodeId, nodeGroupId] accessor. | |
| virtual behavior::Node * | node () const =0 | 
| Node accessor. | |
|  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< Inputs > | |
| SenderAbstraction (std::shared_ptr< implementor::ImplementorSender< Inputs > > concreteSender) | |
| Constructor using the concrete implementation. | |
| virtual | ~SenderAbstraction ()=default | 
| Default destructor. | |
| std::set< SenderAbstraction< Inputs > * > const & | senders () const | 
| Const accessor to senders. | |
| std::set< SenderAbstraction< Inputs > * > & | senders () | 
| Accessor to senders. | |
| std::set< ReceiverAbstraction< Inputs > * > const & | connectedReceivers () const | 
| Accessor to the receivers attached to this SenderAbstraction. | |
| void | addReceiver (ReceiverAbstraction< Inputs > *const receiver) | 
| Add a ReceiverAbstraction. | |
| void | removeReceiver (ReceiverAbstraction< Inputs > *const receiver) | 
| Remove a ReceiverAbstraction. | |
| void | send (std::shared_ptr< Inputs > data) | 
| Send a data as output of the node. | |
| Additional Inherited Members | |
|  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< Inputs > | |
| void | copyInnerStructure (SenderAbstraction< Inputs > *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. | |
Source of the graph, only used in an outer graph.
| Inputs | Input list types of the graph | 
Definition at line 42 of file graph_source.h.
| 
 | inline | 
Default constructor.
Definition at line 50 of file graph_source.h.
| 
 | overridedefault | 
Default destructor.
| 
 | inlineoverridevirtual | 
Node ids [nodeId, nodeGroupId] accessor.
Implements hh::core::abstraction::NodeAbstraction.
Definition at line 76 of file graph_source.h.

| 
 | inlineoverridevirtual | 
Getter to the node counterpart.
| std::runtime_error | because there is no Node attached to the core | 
Implements hh::core::abstraction::NodeAbstraction.
Definition at line 83 of file graph_source.h.
| 
 | inline | 
Gather source information.
| printer | Printer visitor gathering information on nodes | 
Definition at line 70 of file graph_source.h.

| 
 | inline | 
Send a piece of data to all input nodes and notify them.
| Input | Input data type | 
| data | Input data | 
Definition at line 63 of file graph_source.h.
