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;
25 const Action* _action;
26 std::vector<Node*> _children;
27 Preconditions _preconditions;
32 class StartNode :public Node {
34 StartNode(const Literals& init);
35 ~StartNode(){delete _action;}
38 class EndNode :public Node {
40 EndNode(const Literals& goal);
41 ~EndNode(){delete _action;}