バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWTValSetIterator<T,C>
#include<rw/tvset.h> RWTValSet<T,C> vs; RWTValSetIterator<T,C> itr(vs);
注 - RWTValSetIterator には標準 C++ ライブラリが必要です。
RWTValSet に対する繰り返し順序は、コンテナに格納された値に適用されるため、使用する比較子オブジェクトパラメータ C に依存します。
この反復子が参照する現在の項目は、作成後も、reset() の呼び出し後も定義されていません。反復子は、前置インクリメントか operator() を用いて進められた後に有効になります。
operator++ と operator() の場合は、最後の要素を越えて反復すると、ブール型の FALSE に相当する値を返します。一度この状態に達してからも増分し続けると、reset() が呼び出されるまで、FALSE に相当する値を返します。
#include<rw/tvset.h> #include<iostream.h> #include<rw/cstring.h> int main(){ RWTValSet<RWCString,greater<RWCString> > a; RWTValSetIterator<RWCString,greater<RWCString> > itr(a); a.insert("John"); a.insert("Steve"); a.insert("Mark"); //拒絶され、重複は不可 a.insert("Steve"); for(;itr();) cout << itr.key() << endl; return 0; } |
Steve Mark John |
RWTValSetIterator<T,C>(RWTValSet<T,C>&s);
RWBoolean operator()();
RWBoolean operator++();
注 - 後置インクリメント演算子は提供されていません。
RWTValSet<T,C>* container() const;
T key() const;
void reset(); void reset(RWTValSet<T,C>& s);