| Hedgehog
    3.1.0
    A library to generate hybrid pipeline workflow systems | 
Base core node abstraction. More...
#include "node_abstraction.h"


| Public Member Functions | |
| 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. | |
| Private Attributes | |
| std::string const | name_ | 
| Name of the core. | |
| bool | isRegistered_ = false | 
| Is registered into a graph. | |
| GraphNodeAbstraction * | belongingGraph_ = nullptr | 
| Graph holding this node. | |
| std::chrono::nanoseconds | executionDuration_ = std::chrono::nanoseconds::zero() | 
| Node execution duration. | |
| std::chrono::time_point< std::chrono::system_clock > | startExecutionTimeStamp_ = std::chrono::system_clock::now() | 
| Node begin execution timestamp. | |
Base core node abstraction.
Definition at line 61 of file node_abstraction.h.
| 
 | inlineexplicit | 
Core node constructor using the core's name.
| name | Core's name | 
Definition at line 75 of file node_abstraction.h.

| 
 | virtualdefault | 
DEfault destructor.
| 
 | inline | 
Belonging graph accessor.
Definition at line 99 of file node_abstraction.h.

| 
 | inlinevirtual | 
Get the device identifier (got from belonging graph)
Reimplemented in hh::core::abstraction::GraphNodeAbstraction.
Definition at line 103 of file node_abstraction.h.


| 
 | inline | 
Execution duration.
Definition at line 111 of file node_abstraction.h.
| 
 | inlinevirtual | 
Get the graph identifier (got from belonging graph)
Reimplemented in hh::core::abstraction::GraphNodeAbstraction.
Definition at line 107 of file node_abstraction.h.


| 
 | inlinevirtual | 
Core's id ('x' + address of abstraction) as string.
Reimplemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, and hh::core::CoreExecutionPipeline< Separator, AllTypes... >.
Definition at line 86 of file node_abstraction.h.

| 
 | pure virtual | 
Node ids [nodeId, nodeGroupId] accessor.
Implemented in hh::core::abstraction::ExecutionPipelineNodeAbstraction, hh::core::CoreGraph< Separator, AllTypes >, hh::core::CoreGraph< Separator, AllTypes... >, hh::core::CoreStateManager< Separator, AllTypes >, hh::core::CoreStateManager< Separator, AllTypes... >, hh::core::CoreTask< Separator, AllTypes >, hh::core::CoreTask< Separator, AllTypes... >, hh::core::CoreSwitch< Inputs >, hh::core::CoreSwitch< Inputs... >, hh::core::GraphSink< Outputs >, hh::core::GraphSink< Outputs... >, hh::core::GraphSource< Inputs >, and hh::core::GraphSource< Inputs... >.
| 
 | inline | 
Increment execution duration.
| exec | Duration to add in nanoseconds | 
Definition at line 127 of file node_abstraction.h.

| 
 | inline | 
Accessor to registration flag.
Definition at line 94 of file node_abstraction.h.

| 
 | inline | 
Accessor to the core's name.
Definition at line 82 of file node_abstraction.h.

| 
 | pure virtual | 
Node accessor.
Implemented in hh::core::abstraction::TaskNodeAbstraction, hh::core::CoreGraph< Separator, AllTypes >, hh::core::CoreGraph< Separator, AllTypes... >, hh::core::CoreSwitch< Inputs >, hh::core::CoreSwitch< Inputs... >, hh::core::GraphSink< Outputs >, hh::core::GraphSink< Outputs... >, hh::core::GraphSource< Inputs >, and hh::core::GraphSource< Inputs... >.

| 
 | inlinevirtual | 
Register node to the given graph.
| belongingGraph | Belonging graph | 
Reimplemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, hh::core::CoreExecutionPipeline< Separator, AllTypes... >, and hh::core::abstraction::GraphNodeAbstraction.
Definition at line 131 of file node_abstraction.h.


| 
 | inline | 
Accessor to the starting execution timestamp.
Definition at line 115 of file node_abstraction.h.

| 
 | inline | 
Setter to the starting execution timestamp.
| startExecutionTimeStamp | Starting execution timestamp | 
Definition at line 121 of file node_abstraction.h.

| 
 | private | 
Graph holding this node.
Definition at line 66 of file node_abstraction.h.
| 
 | private | 
Node execution duration.
Definition at line 67 of file node_abstraction.h.
| 
 | private | 
Is registered into a graph.
Definition at line 64 of file node_abstraction.h.
| 
 | private | 
Name of the core.
Definition at line 63 of file node_abstraction.h.
| 
 | private | 
Node begin execution timestamp.
Definition at line 70 of file node_abstraction.h.