RWIterator(3C++)

RWIterator - Rogue Wave library class

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

Name
     RWIterator - 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.
              virtual void
          reset() = 0;


     Resets the iterator to the state it had immediately after construction.