11 Node(const Action* action);
13 Node(const Node& node);
15 void addChild(Node* node);
16 const Action* action() const;
18 bool executed() const;
19 const Literals& effects() const;
20 bool satisfyCondition(std::string effect);
21 bool satisfyConditions(const Literals& effects);
22 const std::vector<Node*>& children() const;
23 const Preconditions& preconditions() const;
26 const Action* _action;
27 std::vector<Node*> _children;
28 Preconditions _preconditions;
33 class StartNode :public Node {
35 StartNode(const Literals& init);
36 ~StartNode(){delete _action;}
39 class EndNode :public Node {
41 EndNode(const Literals& goal);
42 ~EndNode(){delete _action;}