Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Hedgehog AbstractState. More...
#include "abstract_state.h"
Public Member Functions | |
AbstractState () | |
Default state constructor. | |
~AbstractState () override=default | |
Default state destructor. | |
std::shared_ptr< ManagedMemory > | getManagedMemory () |
Accessor to the managed memory if a memory manager has been attached to a StateManager. | |
void | lock () |
Lock the state. | |
void | unlock () |
Unlock the state. | |
![]() | |
Cleanable ()=default | |
Default constructor. | |
~Cleanable ()=default | |
Default destructor. | |
virtual void | clean () |
Clean a node. | |
Private Member Functions | |
void | stateManager (StateManager< Separator, AllTypes... > *stateManager) |
AbstractState manager setter. | |
Private Attributes | |
std::unique_ptr< std::shared_mutex > | mutex_ = nullptr |
Mutex to protect the state. | |
StateManager< Separator, AllTypes... > * | stateManager_ = nullptr |
AbstractState manager currently using the state. | |
Hedgehog AbstractState.
The state holds the data structures that are used to manage the flow of data and organize rendez-vous points or other synchronization mechanisms. It is managed and used through a StateManager, and is thread safe.
Separator | Separator position between input types and output types |
AllTypes | List of input and output types |
Definition at line 41 of file abstract_state.h.
|
inline |
Default state constructor.
Definition at line 54 of file abstract_state.h.
|
overridedefault |
Default state destructor.
|
inline |
Accessor to the managed memory if a memory manager has been attached to a StateManager.
Definition at line 60 of file abstract_state.h.
|
inline |
Lock the state.
Definition at line 63 of file abstract_state.h.
|
inlineprivate |
AbstractState manager setter.
Setter used by Hedgehog to indicate which state manager is currently using a specific state.
stateManager | AbstractState manager managing the state |
Definition at line 72 of file abstract_state.h.
|
inline |
Unlock the state.
Definition at line 66 of file abstract_state.h.
|
mutableprivate |
Mutex to protect the state.
Definition at line 50 of file abstract_state.h.
|
private |
AbstractState manager currently using the state.
Definition at line 51 of file abstract_state.h.