バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.


RWSlistCollectablesIterator

RWSlistCollectablesIterator RWIterator

形式

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

説明

クラス RWSlistCollectables の反復子。リンクリストを最初の項目から最後の項目まで走査します。

作成直後の "現在の項目" は未定義で、operator() または他の有効な操作によってユーザーが定義する必要があります。

反復子がコレクションの最後を越えると無効になります。そのまま使用し続けると、予期できない結果をもたらします。

持続性

なし

公開コンストラクタ

RWSlistCollectablesIterator (RWSlistCollectables&);

一重リンクリストから反復子を作成します。作成直後の反復子の位置は不定です。

公開メンバー演算子

virtual RWCollectable*
operator()();

クラス RWIterator から再定義した演算子。反復子を次の項目に進め、その項目を返します。コレクションの最後に達すると NULL を返します。

void
operator++();

反復子を 1 項目進めます。

void
operator+=(size_t n);

反復子を n 項目進めます。

公開メンバー関数

RWBoolean
atFirst() const;

反復子がリストの最初にあれば TRUE を、なければ FALSE を返します。

RWBoolean
atLast() const;

反復子がリストの最後にあれば TRUE を、なければ FALSE を返します。

virtual RWCollectable*
findNext(const RWCollectable* target);

クラス RWIterator から再定義した関数。オブジェクト targetisEqual である次の項目に反復子を移動し、その項目を返します。等しい項目がない場合は NULL を返し、反復子の位置は不定となります。

RWCollectable*
findNextReference(const RWCollectable* e);

項目 e と同一の次の項目 (アドレス e を持つ項目) に反復子を移動し、その項目を返します。同一の項目がない場合は NULL を返し、反復子の位置は不定となります。

RWCollectable*
insertAfterPoint(RWCollectable* a);

現在指している位置の後に項目 a を挿入し、その項目を返します。指している位置は変わりません。

virtual RWCollectable*
key() const;

クラス RWIterator から再定義した関数。現在の反復子の位置にある項目を返します。

RWCollectable*
remove();

現在指している位置にある項目を取り除き、その項目を返します。その後、反復子の位置はリスト内でその前の項目になります。この関数は、一重リンクリストではあまり効率的ではありません。

RWCollectable*
removeNext(const RWCollectable* target);

リスト内で項目 targetisEqual である次の項目に反復子を移動し、その項目をリストから取り除いてそれを返します。その後、反復子の位置はリスト内でその前の項目になります。等しい項目がなければ NULL を返し、反復子の位置は不定となります。

RWCollectable*
removeNextReference(const RWCollectable* e);

リスト内で項目 e と同一の次の項目 (アドレス e を持つ項目) に反復子を移動し、その項目をリストから取り除いて返します。その後、反復子の位置は、リスト内でその前の項目になります。同一の項目がなければ NULL を返し、反復子の位置は不定となります。

virtual void
reset();

RWIterator から再定義した関数。反復子をリセットします。その後、反復子の位置は不定になります。

void
toFirst();

反復子をリストの最初に移動します。

void
toLast();

反復子をリストの最後に移動します。