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

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

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

## RWBinaryTreeIterator

RWBinaryTreeIterator RWIterator

### 形式

      // Smalltalk typedef:
      typedef RWBinaryTreeIterator SortedCollectionIterator;
      #include <rw/bintree.h>
      RWBinaryTree bt;
      RWBinaryTreeIterator iterate(bt);

### 説明

  クラス RWBinaryTree の反復子。ツリーを、"最小" 要素から "最大" 要素まで走査します。ここでの "最小" と "最大" は、仮想関数 `compareTo()` で定義されるものです。この方法は通常、メンバー関数 `RWBinaryTree::apply()` を使用するよりも効率が悪くなります。

  Rogue Wave のすべての反復子と同様に、作成直後の "現在の項目" は未定義です。`operator()` または他の有効な操作を使用して定義しなければなりません。

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

### 持続性

  なし

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

      RWBinaryTreeIterator(const RWBinaryTree&);

    RWBinaryTree の反復子を作成します。作成直後の反復子の位置は不定です。

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

      virtual RWCollectable*
      operator()();

    クラス RWIterator から再定義した演算子。反復子を "次に最大の" 要素に進め、その要素のポインタを返します。コレクションの終わりに達したら `NULL` を返します。

### 公開メンバー関数

      virtual RWCollectable*
      findNext(const RWCollectable* target);

    クラス RWIterator から再定義した関数。オブジェクト `target` に等しい次の項目に反復子を移動して、その項目を返します。等しい項目がない場合は `NULL` を返し、反復子の位置は不定となります。

      virtual void
      reset();

    クラス RWIterator から再定義した関数。反復子を作成時の状態にリセットします。

      virtual RWCollectable*
      key() const;

    クラス RWIterator から再定義した関数。現在の反復子の位置にある項目を返します。