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