]> ruin.nu Git - popboot.git/blob - planner.h
Changed random seed to use usec instead of seconds
[popboot.git] / planner.h
1 #ifndef __PLANNER_H__
2 #define __PLANNER_H__
3
4 #include <ext/hash_map>
5 #include <vector>
6 #include "action.h"
7
8 class Node;
9
10 class Planner {
11         public:
12                 Planner(std::vector<Action> actions, Literals init, Literals goal);
13                 ~Planner();
14
15                 void execute();
16
17         protected:
18
19                 void makePlan(Node* node);
20                 void addNode(Node* node);
21                 
22                 Node* _start;
23                 Node* _finish;
24                 __gnu_cxx::hash_map<std::string,Node*> _addedEffects;
25                 __gnu_cxx::hash_map<std::string,Action*> _actionEffects;
26                 Literals _init;
27                 Literals _goal;
28                 std::vector<Node*> _addedNodes;
29                 std::vector<Action*> _actions;
30 };
31 #endif