This template class represents an iterator class for corresponding set data structures in ofstd.
More...
|
| OFSetIterator (OFSet< T > &ofsetv) |
| Constructor.
|
|
virtual | ~OFSetIterator () |
| Destructor.
|
|
void | ResetBeginning () |
| Resets the iterator to the set's first element.
|
|
void | ResetEnd () |
| Resets the iterator to the set's last element.
|
|
T * | Object () |
| Returns the current element.
|
|
void | Next () |
| Sets the iterator to the next element in the set.
|
|
void | Prev () |
| Sets the iterator to the previous element in the set.
|
|
OFBool | operator== (const OFSetIterator< T > &other) const |
| Determines if two iterators are identical.
|
|
OFBool | operator!= (const OFSetIterator< T > &other) const |
| Determines if two iterators are not identical.
|
|
template<class T>
class OFSetIterator< T >
This template class represents an iterator class for corresponding set data structures in ofstd.
Note the following properties of this class:
- even if the underlying set is unordered, it does have an internal order which can be used for iteration purposes
- a reference to the set which shall be iterated over will be remembered inside an object of OFSetIterator<T>; the set will NOT be copied
- it is possible to iterate from beginning to end or from end to beginning of the underlying set using Next() or Prev() (see below)
- if an element from the set is removed during the iteration, the iteration process has to be canceled and restarted
- two OFSetIterators can be compared through operators == and !=; two iterators are considered to be identical, if and only if they operate on the exact same set (identical memory addresses) and they currently refer to the same element