Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Descriptors/AtomDescriptor.cpp

    r8cce2b r6d574a  
    1313#include "World.hpp"
    1414#include "atom.hpp"
    15 #include "Patterns/ObservedContainer_impl.hpp"
    1615
    1716#include <boost/bind.hpp>
     
    2120using namespace std;
    2221
    23 typedef World::AtomSet::internal_iterator atoms_iter_t;
     22typedef World::AtomSet::iterator atoms_iter_t;
    2423
    2524/************************ Forwarding object **************************************/
     
    7473
    7574atom* AtomDescriptor_impl::find() {
    76   World::AtomSet &atoms = getAtoms();
    77   atoms_iter_t res = find_if(atoms.begin_internal(),atoms.end_internal(),boost::bind(&AtomDescriptor_impl::predicate,this,_1));
    78   return (res!=atoms.end_internal())?((*res).second):0;
     75  World::AtomSet atoms = getAtoms();
     76  atoms_iter_t res = find_if(atoms.begin(),atoms.end(),boost::bind(&AtomDescriptor_impl::predicate,this,_1));
     77  return (res!=atoms.end())?((*res).second):0;
    7978}
    8079
     
    8281  vector<atom*> res;
    8382  World::AtomSet atoms = getAtoms();
    84   for_each(atoms.begin_internal(),
    85            atoms.end_internal(),
    86            boost::bind(&AtomDescriptor_impl::checkAndAdd,
    87                        this,&res,_1));
     83  atoms_iter_t iter;
     84  for(iter=atoms.begin();iter!=atoms.end();++iter) {
     85    if(predicate(*iter)){
     86      res.push_back((*iter).second);
     87    }
     88  }
    8889  return res;
    89 }
    90 
    91 void AtomDescriptor_impl::checkAndAdd(std::vector<atom*> *v,std::pair<atomId_t,atom*> p){
    92   if(predicate(p)){
    93     v->push_back(p.second);
    94   }
    9590}
    9691
Note: See TracChangeset for help on using the changeset viewer.