Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWSlistCollectablesIterator

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

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 から再定義した関数。オブジェクト `target` と `isEqual` である次の項目に反復子を移動し、その項目を返します。等しい項目がない場合は 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);

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

      RWCollectable*
      removeNextReference(const RWCollectable* e);

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

      virtual void
      reset();

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

      void
      toFirst();

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

      void
      toLast();

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