バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWTPtrSlistIterator<T>
#include<rw/tpslist.h> RWTPtrSlist<T> dl; RWTPtrSlistIterator<T> itr(dl);
注 - 標準 C++ ライブラリがある場合は、ここで述べるインタフェースを使用します。標準 C++ ライブラリがない場合は、付録 A に記載する RWTPtrSlistIterator に限定されたインタフェースを使用してください。
RWTPtrSlist に対する反復順序は、コンテナに項目が挿入された順序に依存します。
この反復子が参照する現在の項目は、作成後も、reset() の呼び出し後も定義されていません。反復子は、前置インクリメントか operator() を用いて進められた後に有効になります。
operator++ と operator() の場合は、最後の要素を越えて反復すると、ブール型の FALSE に相当する値を返します。このまま増分し続けると、reset() が呼び出されるまで、FALSE に相当する値を返します。
Slist に変更を加えると、すべての反復子は無効になります。
#include<rw/tpslist.h> #include<iostream.h> #include<rw/cstring.h> int main(){ RWTPtrSlist<RWCString> a; RWTPtrSlistIterator<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 Steve Mark Steve |
RWTPtrSlistIterator<T>(RWTPtrSlist<T>& lst);
T* operator()();
RWBoolean operator++();
注 - 後置インクリメント演算子は提供されていません。
RWBoolean operator+=(size_type n);
RWTPtrSlist<T>* container() const;
T* findNext(const T* a);
T* findNext(RWBoolean(*fn)(T*, void*), void* d);
bool yourTester(const T* a, void* d);
void insertAfterPoint(T* p);
T* key();
T* remove();
T* removeNext(const T*);
T* removeNext(RWBoolean(*fn)(T*, void*), void* d);
bool yourTester(const T* a, void* d);
void reset(); void reset(RWTPtrSlist<T>& l);