- File:
-
- 1 edited
-
src/Descriptors/MoleculeDescriptor.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Descriptors/MoleculeDescriptor.cpp
r6d574a r8cce2b 12 12 13 13 #include "World.hpp" 14 #include "Patterns/ObservedContainer_impl.hpp" 14 15 15 16 #include "molecule.hpp" … … 20 21 using namespace std; 21 22 22 typedef World::MoleculeSet::i terator molecules_iter_t;23 typedef World::MoleculeSet::internal_iterator molecules_iter_t; 23 24 24 25 /************************ Forwarding object **************************************/ … … 73 74 74 75 molecule* MoleculeDescriptor_impl::find() { 75 World::MoleculeSet molecules = getMolecules();76 molecules_iter_t res = find_if(molecules.begin (),molecules.end(),boost::bind(&MoleculeDescriptor_impl::predicate,this,_1));77 return (res!=molecules.end ())?((*res).second):0;76 World::MoleculeSet &molecules = getMolecules(); 77 molecules_iter_t res = find_if(molecules.begin_internal(),molecules.end_internal(),boost::bind(&MoleculeDescriptor_impl::predicate,this,_1)); 78 return (res!=molecules.end_internal())?((*res).second):0; 78 79 } 79 80 80 81 vector<molecule*> MoleculeDescriptor_impl::findAll() { 81 82 vector<molecule*> res; 82 World::MoleculeSet molecules = getMolecules(); 83 molecules_iter_t iter; 84 for(iter=molecules.begin();iter!=molecules.end();++iter) { 85 if(predicate(*iter)){ 86 res.push_back((*iter).second); 87 } 83 World::MoleculeSet &molecules = getMolecules(); 84 for_each(molecules.begin_internal(), 85 molecules.end_internal(), 86 boost::bind(&MoleculeDescriptor_impl::checkAndAdd, 87 this,&res,_1)); 88 return res; 89 } 90 91 void MoleculeDescriptor_impl::checkAndAdd(std::vector<molecule*> *v,std::pair<moleculeId_t,molecule*> p){ 92 if(predicate(p)){ 93 v->push_back(p.second); 88 94 } 89 return res;90 95 } 91 96
Note:
See TracChangeset
for help on using the changeset viewer.
