SourcePro® API Reference Guide

 
Loading...
Searching...
No Matches

Iterator for class RWBag, which allows sequential access to all the elements of RWBag. More...

#include <rw/rwbag.h>

Inheritance diagram for RWBagIterator:
RWIterator

Public Member Functions

 RWBagIterator (const RWBag &)
 
virtual RWCollectablefindNext (const RWCollectable *target)
 
virtual RWCollectablekey () const
 
virtual RWCollectableoperator() ()
 
virtual void reset ()
 

Friends

class RWBagConstIterator
 

Detailed Description

Iterator for class RWBag, which allows sequential access to all the elements of RWBag. Note that because an RWBag is unordered, elements are not accessed in any particular order. If an item was inserted N times into the collection, then it will be visited N consecutive times.

Like all Rogue Wave iterators, the "current item" is undefined immediately after construction – you must define it by using operator()() or some other (valid) operation.

Once the iterator has advanced beyond the end of the collection it is no longer valid, so continuing to use it has undefined results.

Synopsis
#include <rw/rwbag.h>
Iterator for class RWBag, which allows sequential access to all the elements of RWBag.
Definition rwbag.h:301
Corresponds to the Smalltalk class Bag, representing a group of unordered elements not accessible by ...
Definition rwbag.h:65
Persistence
None

Constructor & Destructor Documentation

◆ RWBagIterator()

RWBagIterator::RWBagIterator ( const RWBag & )

Construct an iterator for an RWBag. After construction, the position of the iterator is undefined.

Member Function Documentation

◆ findNext()

virtual RWCollectable * RWBagIterator::findNext ( const RWCollectable * target)
virtual

Moves the iterator to the next item that isEqual() to the object pointed to by target, and returns it. Hashing is used to find the target. If no item is found, returns rwnil and the position of the iterator is undefined.

Implements RWIterator.

◆ key()

virtual RWCollectable * RWBagIterator::key ( ) const
virtual

Returns the item at the current iterator position.

Implements RWIterator.

◆ operator()()

virtual RWCollectable * RWBagIterator::operator() ( )
virtual

Advances the iterator and returns the next item, or rwnil if the end of the collection has been reached.

Implements RWIterator.

◆ reset()

virtual void RWBagIterator::reset ( )
virtual

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

Implements RWIterator.

Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.