rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWSlistCollectablesIterator Class Reference
[RWCollectable-derived]

Iterator for class RWSlistCollectables. Traverses the linked-list from the first to last item. More...

#include <rw/slistcol.h>

Inheritance diagram for RWSlistCollectablesIterator:
RWIterator

List of all members.

Public Member Functions

 RWSlistCollectablesIterator (RWSlistCollectables &s)
bool atFirst () const
bool atLast () const
void toFirst ()
void toLast ()
void * operator++ ()
void * operator+= (size_t n)
virtual RWCollectablefindNext (const RWCollectable *target)
virtual RWCollectablekey () const
virtual RWCollectableoperator() ()
virtual void reset ()
RWCollectablefindNextReference (const RWCollectable *e)
RWCollectableinsertAfterPoint (RWCollectable *a)
RWCollectableremove ()
RWCollectableremoveNext (const RWCollectable *target)
RWCollectableremoveNextReference (const RWCollectable *e)

Detailed Description

Iterator for class RWSlistCollectables. Traverses the linked-list from the first to last item.

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; continuing to use it will result in undefined behavior.

Synopsis

 // Smalltalk typedef.
 typedef RWSlistCollectablesIterator LinkedListIterator;
 #include <rw/slistcol.h>
 RWSlistCollectables sc;
 RWSlistCollectablesIterator sci(sc) ;

Persistence

None


Constructor & Destructor Documentation

RWSlistCollectablesIterator::RWSlistCollectablesIterator ( RWSlistCollectables s  )  [inline]

Constructs an iterator from a singly-linked list. Immediately after construction, the position of the iterator is undefined.


Member Function Documentation

bool RWSlistCollectablesIterator::atFirst (  )  const [inline]

Returns true if the iterator is at the beginning of the list, otherwise returns false.

bool RWSlistCollectablesIterator::atLast (  )  const [inline]

Returns true if the iterator is at the end of the list, otherwise returns false;

virtual RWCollectable* RWSlistCollectablesIterator::findNext ( const RWCollectable target  )  [inline, virtual]

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

Implements RWIterator.

RWCollectable* RWSlistCollectablesIterator::findNextReference ( const RWCollectable e  )  [inline]

Moves iterator to the next item which is identical to the item pointed to by e (that is, that has address e) and returns it. If no item is found, returns rwnil and the position of the iterator will be undefined.

RWCollectable* RWSlistCollectablesIterator::insertAfterPoint ( RWCollectable a  )  [inline]

Insert item a after the current cursor position and return the item. The cursor's position will be unchanged.

virtual RWCollectable* RWSlistCollectablesIterator::key (  )  const [inline, virtual]

Returns the item at the current iterator position.

Implements RWIterator.

virtual RWCollectable* RWSlistCollectablesIterator::operator() (  )  [inline, virtual]

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

Implements RWIterator.

void* RWSlistCollectablesIterator::operator++ (  )  [inline]

Advances the iterator one item.

void* RWSlistCollectablesIterator::operator+= ( size_t  n  )  [inline]

Advances the iterator n items.

RWCollectable* RWSlistCollectablesIterator::remove (  )  [inline]

Removes and returns the item at the current cursor position. Afterwards, the iterator will be positioned at the previous item in the list. This function is not very efficient in a singly-linked list.

RWCollectable* RWSlistCollectablesIterator::removeNext ( const RWCollectable target  )  [inline]

Moves iterator to the next item in the list that isEqual() to the item pointed to by target, removes it from the list and returns it. Afterwards, the iterator will be positioned at the previous item in the list. If no item is found, returns rwnil and the position of the iterator will be undefined.

RWCollectable* RWSlistCollectablesIterator::removeNextReference ( const RWCollectable e  )  [inline]

Moves iterator to the next item in the list which is identical to the item pointed to by e (that is, that has address e), removes it from the list and returns it. Afterwards, the iterator will be positioned at the previous item in the list. If no item is found, returns rwnil and the position of the iterator will be undefined.

virtual void RWSlistCollectablesIterator::reset (  )  [inline, virtual]

Resets the iterator. Afterwards, the position of the iterator will be undefined.

Implements RWIterator.

void RWSlistCollectablesIterator::toFirst (  )  [inline]

Moves the iterator to the beginning of the list.

void RWSlistCollectablesIterator::toLast (  )  [inline]

Moves the iterator to the end of the list.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.