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

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

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

## RWTValDlistIterator<T>

### 形式

      #include <rw/tvdlist.h>
      RWTValDlist<T> list;
      RWTValDlistIterator<T> iterator(list);

  > 注 - 標準 C++ ライブラリがない場合は、ここで説明しているインタフェースを使用してください。標準 C++ ライブラリがある場合は、クラスリファレンスの説明にあるインタフェースを使用してください。

### 説明

  クラス RWTValDlist<T> の反復子で、二重リンクのパラメータ化されたリストのすべての要素に順次アクセスできます。各要素にはどちらの方向にも順番にアクセスできます。

  すべての Rogue Wave 反復子と同様に、作成直後の "現在の項目" は未定義で、`operator()` か他の有効な操作によってユーザーが定義する必要があります。

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

### 持続性

  同形

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

      RWTValDlistIterator<T>(RWTValDlist<T>& c);

    リスト `c` で使用するよう反復子を作成します。

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

      RWBoolean
      operator++();

    反復子を次の項目に進めて `TRUE` を返します。コレクションの最後に達すると `FALSE` を返し、反復子の位置は不定となります。

      RWBoolean
      operator--();

    反復子を 1 つ前の項目に戻して `TRUE` を返します。コレクションの最初に達すると `FALSE` を返し、反復子の位置は不定になります。

      RWBoolean
      operator+=(size_t n);

    反復子を `n` 項目進めて `TRUE` を返します。コレクションの最後に達すると `FALSE` を返し、反復子の位置は不定になります。

      RWBoolean
      operator-=(size_t n);

    反復子を `n` 項目戻して `TRUE` を返します。コレクションの最初に達すると `FALSE` を返し、反復子の位置は不定になります。

      RWBoolean
      operator()();

    反復子を次の項目に進めます。次の項目の位置が有効ならば `TRUE` を返し、無効であれば `FALSE` を返します。

### 公開メンバー関数

      RWTValDlist<T>*
      container() const;

    反復子を使用しているコレクションへのポインタを返します。

      RWBoolean
      findNext(const T& a);

    項目 `a` と等しい最初の要素へ反復子を進めて `TRUE` を返します。等しい要素がなければ `FALSE` を返します。等しいかどうかはクラス定義の等価演算子で判定します。

      RWBoolean
      findNext(RWBoolean (*testFun)(const T&, void*), void*);

    テスト関数 `testFun` が `TRUE` を返す最初の要素に反復子を進めて `TRUE` を返します。そのような要素がなければ `FALSE` を返します。

      void
      insertAfterPoint(const T& a);

    当該コレクション内の反復子の現在位置の直後に、値 `a` を挿入します。

      T
      key() const;

    反復子の現在位置にある値を返します。反復子が無効であれば、結果は不定になります。

      RWBoolean
      remove();

    当該コレクションから反復子の現在位置にある値を取り除きます。処理が成功すれば `TRUE` を、失敗すれば `FALSE` を返します。成功すると、反復子は取り除いた要素の直前の要素の位置に置かれます。

      RWBoolean
      removeNext(const T& a);

    `a` と等しい最初の要素に反復子を進め、その要素を取り除きます。処理が成功すれば `TRUE` を、失敗すれば `FALSE` を返します。等しいかどうかは、型 `T` のクラス定義の等価演算子で判定します。処理が成功すると、反復子は取り除いた要素の直前の要素の位置に置かれます。

      RWBoolean
      removeNext(RWBoolean (*testFun)(const T&, void*), void*);

    テスト関数 `testFun` が `TRUE` を返す最初の要素に反復子を進めて `TRUE` を返し、その要素を取り除きます。処理が成功すれば `TRUE` を、失敗すれば `FALSE` を返します。成功すると、反復子は取り除いた要素の直前の要素の位置に置かれます。

      void
      reset();

    反復子を作成直後の状態に戻します。

      void
      reset(RWTValDlist<T>& c);

    反復子を、コレクション `c` について反復するよう初期状態に戻します。