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