Hedgehog  3.1.0
A library to generate hybrid pipeline workflow systems
Loading...
Searching...
No Matches
hh::core::abstraction::CanTerminateAbstraction Class Referenceabstract

Abstraction for core that present termination condition. More...

#include "can_terminate_abstraction.h"

Inheritance diagram for hh::core::abstraction::CanTerminateAbstraction:
Inheritance graph
Collaboration diagram for hh::core::abstraction::CanTerminateAbstraction:
Collaboration graph

Public Member Functions

 CanTerminateAbstraction (behavior::CanTerminate *const canTerminateNode)
 Constructor using behavior::CanTerminate node abstraction.
 
virtual ~CanTerminateAbstraction ()=default
 Default destructor.
 
bool callNodeCanTerminate () const
 Call user-definable termination.
 
virtual bool callCanTerminate (bool lock)=0
 Interface for calling user-definable termination.
 

Private Attributes

behavior::CanTerminate *const canTerminateNode_ = nullptr
 Link to user-definable termination implementation.
 

Detailed Description

Abstraction for core that present termination condition.

Definition at line 33 of file can_terminate_abstraction.h.

Constructor & Destructor Documentation

◆ CanTerminateAbstraction()

hh::core::abstraction::CanTerminateAbstraction::CanTerminateAbstraction ( behavior::CanTerminate *const  canTerminateNode)
inlineexplicit

Constructor using behavior::CanTerminate node abstraction.

Parameters
canTerminateNodebehavior::CanTerminate node abstraction

Definition at line 40 of file can_terminate_abstraction.h.

◆ ~CanTerminateAbstraction()

virtual hh::core::abstraction::CanTerminateAbstraction::~CanTerminateAbstraction ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ callCanTerminate()

virtual bool hh::core::abstraction::CanTerminateAbstraction::callCanTerminate ( bool  lock)
pure virtual

Interface for calling user-definable termination.

Parameters
lockFlag if the call to the user-definable termination need to be protected
Returns
True if the node can terminate, else false

Implemented in hh::core::CoreStateManager< Separator, AllTypes >, hh::core::CoreStateManager< Separator, AllTypes... >, hh::core::CoreTask< Separator, AllTypes >, and hh::core::CoreTask< Separator, AllTypes... >.

◆ callNodeCanTerminate()

bool hh::core::abstraction::CanTerminateAbstraction::callNodeCanTerminate ( ) const
inline

Call user-definable termination.

Returns
True if the node can terminate, else false

Definition at line 48 of file can_terminate_abstraction.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ canTerminateNode_

behavior::CanTerminate* const hh::core::abstraction::CanTerminateAbstraction::canTerminateNode_ = nullptr
private

Link to user-definable termination implementation.

Definition at line 35 of file can_terminate_abstraction.h.