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

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

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

## RWTIsvSlistIterator<T>

### 形式

      #include <rw/tislist.h>
      RWTIsvSlist<T> list;
      RWTIsvSlistIterator<T> iterator(list);

### 説明

  クラス RWTIsvSlist<T> の反復子で、一重リンクのパラメータ化された侵入的リストのすべての要素に順次アクセスできます。各要素には最初から最後の順序でアクセスします。

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

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

### 持続性

  なし

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

      RWTIsvSlistIterator(RWTIsvSlist<T>& c);

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

### 公開演算子

      T*
      operator++();

    反復子を 1 項目進め、新しいリンクへのポインタを返します。リストの最後に達すると `NULL` を返します。

      T*
      operator+=(size_t n);

    反復子を `n` 項目進め、新しいリンクへのポインタを返します。リストの最後に達すると `NULL` を返します。

      T*
      operator()();

    反復子を 1 項目進め、新しいリンクへのポインタを返します。リストの最後に達すると `NULL` を返します。

### 公開メンバー関数

      RWTIsvSlist<T>*
      container() const;

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

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

    テスト関数 `testFun` が `TRUE` を返す最初のリンクに反復子を進め、そのリンクを返します。そのようなリンクがなければ `NULL` を返します。

      void
      insertAfterPoint(T* a);

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

      T*
      key() const;

    反復子の現在位置にあるリンクを返します。反復子が無効であれば `NULL` を返します。

      T*
      remove();

    当該コレクションから現在のリンクを取り除いて、そのリンクを返します。失敗すると `NULL` を返します。成功すると、反復子は取り除いたリンクの直前の要素の位置に置かれます。この関数は、一重リンクリストではあまり効率的ではありません。

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

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

      void
      reset();

    反復子を作成直後の状態にリセットします。

      void
      reset(RWTIsvSlist<TL>& c);

    反復子を、コレクション `c` について反復するようリセットします。