RWIterator(3C++) RWIterator(3C++)
NameRWIterator - Rogue Wave library class
Synopsis
#include <rw/iterator.h>
typedef RWIterator Iterator; // "Smalltalk" typedef
Description
Class RWIterator is an abstract base class for iterators used by the
Smalltalk-like collection classes. The class contains virtual functions
for positioning and resetting the iterator. They are all pure virtual
functions, meaning that deriving classes must supply a definition. The
descriptions below are intended to be generic -- all inheriting iterators
generally follow the described pattern.
Persistence
None
Public Virtual Functions
virtual RWCollectable*
findNext(const RWCollectable* target) = 0;
Moves the iterator forward to the next item which "matches" the object
pointed to by target and returns it or nil if no item was found. For
most collections, an item "matches" the target if either isEqual() or
compareTo() indicate equivalence, whichever is appropriate for the actual
collection type. However, when an iterator is used with an "identity
collection" (i.e., RWIdentitySet and RWIdentityDictionary), it looks for
an item with the same address (i.e., "is identical to").
virtual RWCollectable*
key() const = 0;
Returns the item at the current iterator position.
virtual RWCollectable*
operator()() = 0;
Advances the iterator and returns the next item, or nil if the end of the
collection has been reached.
Page 1
RWIterator(3C++) RWIterator(3C++)
virtual void
reset() = 0;
Resets the iterator to the state it had immediately after construction.
Page 2