19#ifndef HEDGEHOG_CLEANABLE_ABSTRACTION_H_
20#define HEDGEHOG_CLEANABLE_ABSTRACTION_H_
23#include <unordered_set>
25#include "../../../behavior/cleanable.h"
32namespace abstraction {
47 throw std::runtime_error(
"A cleanable abstraction should register a cleanable node.");
56 virtual void gatherCleanable(std::unordered_set<hh::behavior::Cleanable *> & cleanableSet){
Abstraction for cleanable core.
CleanableAbstraction()=default
Constructor used by the CoreGraph to have the handles to clean inner cleanable nodes.
CleanableAbstraction(behavior::Cleanable *const cleanableNode)
Constructor used by cleanable nodes.
hh::behavior::Cleanable *const cleanableNode_
Link to cleanable node.
virtual void gatherCleanable(std::unordered_set< hh::behavior::Cleanable * > &cleanableSet)
Gather cleanable node from the graph, and the state manager.
virtual ~CleanableAbstraction()=default
Default destructor.