Hedgehog  0.0.0
A library to generate hybrid pipeline workflow systems
hh::behavior::BaseStateManager< StateOutput, StateInputs > Class Template Reference

Base State Manager, needed to avoid virtual inheritance of AbstractTask. More...

#include "state_manager.h"

Inheritance diagram for hh::behavior::BaseStateManager< StateOutput, StateInputs >:
Inheritance graph
Collaboration diagram for hh::behavior::BaseStateManager< StateOutput, StateInputs >:
Collaboration graph

Public Member Functions

 BaseStateManager ()
 DEfault constructor, set the base property for a state manager.
 
- Public Member Functions inherited from hh::AbstractTask< StateOutput, StateInputs... >
 AbstractTask ()
 AbstractTask default constructor. More...
 
 AbstractTask (std::string_view const &name)
 Create a task with a custom name. More...
 
 AbstractTask (std::string_view const &name, size_t numberThreads)
 Create a task with a custom name and the task's cluster size. More...
 
 AbstractTask (std::string_view const &name, size_t numberThreads, bool automaticStart)
 Create a task with a custom name, the task's cluster size, and the automatic start. More...
 
 AbstractTask (std::string_view const name, size_t numberThreads, core::NodeType nodeType, bool automaticStart)
 Internal constructor needed to create nodes that derive from AbstractTask. More...
 
 AbstractTask (AbstractTask< StateOutput, TaskInputs ... > *rhs)
 Copy constructor. More...
 
virtual ~AbstractTask ()=default
 Default destructor.
 
void addResult (std::shared_ptr< StateOutput > output)
 Add an output data. More...
 
std::string_view name ()
 Task's name accessor. More...
 
size_t numberThreads ()
 Task's number of threads accessor. More...
 
bool automaticStart ()
 Task's automatic start accessor. More...
 
core::NodeType nodeType ()
 Task's node type accessor. More...
 
int deviceId ()
 Task's device ID accessor. More...
 
int graphId ()
 Task's graph ID accessor. More...
 
std::shared_ptr< core::CoreNodecore () final
 Task's core accessor. More...
 
std::shared_ptr< AbstractMemoryManager< StateOutput > > const & memoryManager () const
 Task's memory manager accessor. More...
 
virtual std::shared_ptr< AbstractTask< StateOutput, TaskInputs... > > copy ()
 Default copy overload, fail if cluster need to be copied. More...
 
virtual void initialize ()
 Initialize method called before AbstractTask::Execute loop.
 
virtual void shutdown ()
 Shutdown method called after AbstractTask::Execute loop, when AbstractTask::canTerminate evaluates to true.
 
void connectMemoryManager (std::shared_ptr< AbstractMemoryManager< StateOutput >> mm)
 Connect a memory manager to the task. More...
 
std::shared_ptr< StateOutput > getManagedMemory ()
 Memory manager accessor. More...
 
bool canTerminate () override
 Method called to test the task;s termination, by default, the test is: no input nodes connected and, no data waiting to be treated. More...
 
- Public Member Functions inherited from hh::behavior::Node
virtual std::string extraPrintingInformation () const
 Adds node information to print in the dot file. More...
 
- Public Member Functions inherited from hh::behavior::Execute< TaskInputs >
virtual void execute (std::shared_ptr< TaskInputs >)=0
 Virtual declaration of execute function for a data of type Input.
 

Additional Inherited Members

- Public Types inherited from hh::behavior::MultiReceivers< TaskInputs... >
using inputs_t = std::tuple< Inputs... >
 Tuple with the list of input types.
 
- Public Types inherited from hh::behavior::Sender< StateOutput >
using output_t = StateOutput
 Output Type.
 

Detailed Description

template<class StateOutput, class ... StateInputs>
class hh::behavior::BaseStateManager< StateOutput, StateInputs >

Base State Manager, needed to avoid virtual inheritance of AbstractTask.

Template Parameters
StateOutputState output type
StateInputsState input types

Definition at line 41 of file state_manager.h.


The documentation for this class was generated from the following file: