11 Node(const Action* action);
13 Node(const Node& node);
15 void addChild(Node* node);
16 const Action* action() const;
17 void execute(const Literals& effects);
18 bool executed() const;
19 const Literals& effects() const;
20 void satisfyCondition(std::string effect);
23 const Action* _action;
24 std::vector<Node*> _children;
25 Preconditions _preconditions;
30 class StartNode :public Node {
32 StartNode(const Literals& init);
33 ~StartNode(){delete _action;}
36 class EndNode :public Node {
38 EndNode(const Literals& goal);
39 ~EndNode(){delete _action;}