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

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

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

## RWGDlistIterator(type)

### 形式

      #include <rw/gdlist.h>
      declare(RWGDlist, type)
      RWGDlist(type) a;
      RWGDlistIterator(type) I(a) ;

### 説明

  クラス RWGDlist(type) の反復子で、二重リンクリストのすべての要素に順次アクセスできます。各要素にはどちらの方向にも順番にアクセスできます。すべての Rogue Wave 反復子と同様に、作成直後の "現在の項目" は未定義で、`operator()` か他の有効な操作によって、ユーザーが定義する必要があります。

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

  記述を簡単にするため、次のような仮想の typedef が使用されています。この関数については、RWGDlist(type) を参照してください。

          typedef RWBoolean (*yourTester)(const type*, const void*);

### 接続性

      なし

### 例

  クラス RWGDlist(type) の例を参照してください。

### 公開コンストラクタ

      RWGDlistIterator(type)( RWGDlist(type)& list);

    RWGDlist(type) `list` の反復子を作成します。作成直後の反復子の位置は不定です。

### 公開メンバー演算子

      type*
      operator()();

    反復子を次の項目に進め、その項目を返します。コレクションの最後に達すると NULL を返します。

      void
      operator++();

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

      void
      operator--();

    反復子を 1 項目戻します。

      void
      operator+=(size_t n);

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

      void
      operator-=(size_t n);

    反復子を `n` 項目戻します。

### 公開メンバー関数

      RWBoolean
      atFirst() const;

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

      RWBoolean
      atLast() const;

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

      type*
      findNext(yourTester t,const type* d);

    関数 `t` が、`d` と一致するとみなした次の項目に、反復子を進め、その項目を返します。一致する項目がなければ NULL を返し、反復子の位置は不定になります。

      type*
      findNextReference(const type* e);

    アドレス `e` を持つ次の項目へ反復子を進め、その項目を返します。そのような項目がなければ NULL を返し、反復子の位置は不定になります。

      type*
      insertAfterPoint(type* a);

    反復子の現在位置の後に項目 `a` を追加します。反復子の位置は変わりません。

      type*
      key() const;

    反復子の現在位置にある項目を返します。

      type*
      remove();

    現在指している位置にある項目を取り除き、その項目を返します。その後、反復子はリスト内で直前の項目の位置に置かれます。

      type*
      removeNext(yourTester t, const type* d);

    関数 `t` が、`d` と一致するとみなした次の項目に、反復子を移動し、その項目を取り除いて返します。一致する項目がなければ NULL を返し、反復子の位置は不定になります。

      type*
      removeNextReference(const type* a);

    アドレス `e` を持つ次の項目に反復子を移動し、その項目を取り除いて返します。そのような項目がなければ `NULL` を返し、反復子の位置は不定になります。

      void
      reset();

    反復子を初期状態にリセットします。

      void
      toFirst();

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

      void
      toLast();

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