5 Node::Node(Action action){
7 _preconditions = _action.preconditions();
10 const Action& Node::action() const{
15 void Node::addChild(Node* node){
16 _children.push_back(node);
20 void Node::execute(const literals& effects){
21 for (literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){
22 _preconditions.erase(find(_preconditions.begin(),_preconditions.end(), *effect));
24 if (_preconditions.size() != 0)
28 for(vector<Node*>::iterator child = _children.begin(); child != _children.end(); ++child){
29 (*child)->execute(_action.effects());