#include <ext/hash_map>
#include <vector>
+#include <queue>
+#include <pthread.h>
+#include <semaphore.h>
#include "action.h"
class Node;
void execute();
+
protected:
void makePlan(Node* node);
void addNode(Node* node);
+
+ sem_t _nodes;
+ sem_t _list;
+ std::queue<Node*> _executedNodes;
Node* _start;
Node* _finish;
- __gnu_cxx::hash_map<std::string,Node*> _addedNodes;
- __gnu_cxx::hash_map<std::string,Action> _actions;
+ __gnu_cxx::hash_map<std::string,Node*> _addedEffects;
+ __gnu_cxx::hash_map<std::string,Action*> _actionEffects;
Literals _init;
Literals _goal;
+ std::vector<Node*> _addedNodes;
+ std::vector<Action*> _actions;
};
#endif