21#ifndef HEDGEHOG_CAN_TERMINATE_ABSTRACTION_H
22#define HEDGEHOG_CAN_TERMINATE_ABSTRACTION_H
24#include "../../../behavior/can_terminate.h"
30namespace abstraction {
Behavior abstraction for nodes that expose termination condition.
virtual bool canTerminate() const =0
Termination condition.
Abstraction for core that present termination condition.
virtual bool callCanTerminate(bool lock)=0
Interface for calling user-definable termination.
virtual ~CanTerminateAbstraction()=default
Default destructor.
behavior::CanTerminate *const canTerminateNode_
Link to user-definable termination implementation.
bool callNodeCanTerminate() const
Call user-definable termination.
CanTerminateAbstraction(behavior::CanTerminate *const canTerminateNode)
Constructor using behavior::CanTerminate node abstraction.