Changeset a5471c for molecuilder/src/World.cpp
- Timestamp:
- Feb 18, 2010, 1:21:35 PM (16 years ago)
- Children:
- cbc27f
- Parents:
- b53a7e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/World.cpp
rb53a7e ra5471c 12 12 #include "periodentafel.hpp" 13 13 #include "Descriptors/AtomDescriptor.hpp" 14 #include "Descriptors/AtomDescriptor_impl.hpp" 14 15 15 16 using namespace std; … … 46 47 } 47 48 49 /******************************* Iterators ********************************/ 50 51 World::AtomIterator::AtomIterator(AtomDescriptor _descr, World* _world) : 52 descr(_descr.get_impl()), 53 world(_world) 54 { 55 state = world->atoms.begin(); 56 advanceState(); 57 } 58 59 World::AtomIterator::AtomIterator(const AtomIterator& rhs) : 60 state(rhs.state), 61 descr(rhs.descr) 62 {} 63 64 World::AtomIterator& World::AtomIterator::operator++(){ 65 advanceState(); 66 } 67 68 bool World::AtomIterator::operator==(const AtomIterator& rhs){ 69 return state==rhs.state; 70 } 71 72 bool World::AtomIterator::operator!=(const AtomIterator& rhs){ 73 return state!=rhs.state; 74 } 75 76 atom* World::AtomIterator::operator*(){ 77 return (*state).second; 78 } 79 80 void World::AtomIterator::advanceState(){ 81 while(state!=world->atoms.end() && !descr->predicate(*state)) 82 state++; 83 } 84 85 World::AtomIterator World::getAtomIter(AtomDescriptor descr){ 86 return AtomIterator(descr,this); 87 } 48 88 49 89 /******************************* Singleton Stuff **************************/
Note:
See TracChangeset
for help on using the changeset viewer.