Changeset 1063 for code/trunk/src/core/Iterator.h
- Timestamp:
- Apr 14, 2008, 6:23:52 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/core/Iterator.h
r1056 r1063 65 65 { 66 66 this->element_ = 0; 67 ClassManager<T>::getIdentifier()->getObjects()->registerIterator(this); 67 68 } 68 69 … … 74 75 { 75 76 this->element_ = element; 77 ClassManager<T>::getIdentifier()->getObjects()->registerIterator(this); 78 } 79 80 /** 81 @brief Unregisters the Iterator from the ObjectList. 82 */ 83 ~Iterator() 84 { 85 ClassManager<T>::getIdentifier()->getObjects()->unregisterIterator(this); 76 86 } 77 87 … … 91 101 Iterator<T> operator++() 92 102 { 93 this->element_ = this->element_->next_; 103 if (this->element_) 104 this->element_ = this->element_->next_; 94 105 return *this; 95 106 } … … 102 113 { 103 114 Iterator<T> copy = *this; 104 this->element_ = this->element_->next_; 115 if (this->element_) 116 this->element_ = this->element_->next_; 105 117 return copy; 106 118 } … … 112 124 Iterator<T> operator--() 113 125 { 114 this->element_ = this->element_->prev_; 126 if (this->element_) 127 this->element_ = this->element_->prev_; 115 128 return *this; 116 129 } … … 123 136 { 124 137 Iterator<T> copy = *this; 125 this->element_ = this->element_->prev_; 138 if (this->element_) 139 this->element_ = this->element_->prev_; 126 140 return copy; 127 141 } … … 133 147 T* operator*() 134 148 { 135 return this->element_->object_; 149 if (this->element_) 150 return this->element_->object_; 151 else 152 return 0; 136 153 } 137 154 … … 142 159 T* operator->() const 143 160 { 144 return this->element_->object_; 161 if (this->element_) 162 return this->element_->object_; 163 else 164 return 0; 145 165 146 166 }
Note: See TracChangeset
for help on using the changeset viewer.