}
Planner::~Planner(){
+ cerr << "Deleting " << _addedNodes.size() << " nodes" << endl;
for (vector<Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
cerr << "Deleting node " << (*node)->action().name() << endl;
delete *node;
void Planner::execute(){
_start->execute(Literals());
- /*for (hash_map<string,Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
- if (node->second->executed()){
- }*/
- _start->execute(Literals());
+ cerr << "Number of nodes: " << _addedNodes.size() << endl;
+ for (vector<Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
+ if ((*node)->executed()){
+ //remove stuff
+ }
+ delete *node;
+ }
+ _addedNodes.clear();
+ cerr << "Number of nodes left: " << _addedNodes.size() << endl;
}