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

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 から再定義した関数。現在の反復子の位置にある項目を返します。