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.