#include "action_rule.hpp" #include "inspector_holder.hpp" #include "cassert" ActionRule::ActionRule(std::string & id, ptrSimplePlan pp, unsigned int prio, unsigned int weight, std::vector< int> & actions, unsigned int flags, unsigned int stt, unsigned int fails, unsigned int successes) : _actions(actions), _id(id), BaseRule(pp, prio, weight, flags, stt, fails, successes) { _action_it = _actions.begin(); } int ActionRule::GetAction() { assert(!_actions.empty()); //_action_it++; //valid, nonempty if(_action_it == _actions.end()) { _action_it = _actions.begin(); } CInspectorHolder::processEvent(ACTION_SEL, _id); return *(_action_it++); //valid, nonempty }