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