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

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

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

## RWTPtrDlistIterator<T>

### 形式

      #include <rw/tpdlist.h>
      RWTPtrDlist<T> list;
      RWTPtrDlistIterator<T> iterator(list);

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

### 説明

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

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

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

### 持続性

  なし

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

      RWTPtrDlistIterator<T>(RWTPtrDlist<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` を返し、反復子の位置は不定になります。

      T*
      operator()();

    反復子を次の項目に進めてそれへのポインタを返します。コレクションの最後に達すると NULL を返し、反復子の位置は不定になります。

### 公開メンバー関数

      RWTPtrDlist<T>*
      container() const;

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

      T*
      findNext(const T* a);

    オブジェクト `a` と等しい最初の要素へ反復子を進め、それへのポインタを返します。等しい項目がなければ NULL を返し、反復子の位置は不定になります。等しいかどうかは、型 `T` に対するクラス定義の等価演算子で判定します。

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

    テスト関数 `testFun` が `TRUE` を返す最初の要素に反復子を進め、それへのポインタを返します。そのような項目がなければ NULL を返し、反復子の位置は不定になります。

      void
      insertAfterPoint(T* a);

    当該コレクション内の反復子の現在位置の直後にオブジェクト `a` を挿入します。反復子の現在の位置は変わりません。

      T*
      key() const;

    反復子の現在位置にあるオブジェクトへのポインタを返します。反復子が無効であると、結果は不定になります。

      T*
      remove();

    当該コレクションから反復子の現在位置にあるオブジェクトを取り除いて、そのオブジェクトを返します。その後、反復子は取り除いた要素の直前の要素の位置に置かれます。失敗すれば NULL を返し、反復子の位置は不定になります。反復子の関連コレクションの最初の要素が削除された場合、反復子の位置は不定になります。

      T*
      removeNext(const T* a);

    オブジェクト `a` と等しい最初の要素に反復子を進め、その要素を取り除いて返します。その後、反復子は取り除いた要素の直前の要素の位置に置かれます。処理が失敗すると NULL を返し、反復子の位置は不定になります。等しいかどうかは、型 `T` に対するクラス定義等価演算子で判定します。

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

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

      void
      reset();

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

      void
      reset(RWTPtrDlist<T>& c);

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