バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
#include <rw/tpsrtvec.h> RWTPtrSortedVector<T> sortvec;
注 - 標準 C++ ライブラリがない場合は、ここで説明しているインタフェースを使用してください。標準 C++ ライブラリがある場合は、クラスリファレンスの説明にあるインタフェースを使用してください。
不等号 (<) 演算子によって決められた順序に従って、挿入する項目へのポインタをコレクションに格納します。
クラス T には次のものが必要です。
RWTPtrSortedVector<T> 内でポインタが参照するオブジェクトを変更することは可能ですが、危険です。これは、その変更が operator<() と operator==() の動作に影響し、RWTPtrSortedVector<T> をソートされていない状態にするからです。
#include <rw/tpsrtvec.h> #include <rw/rwdate.h> #include <rw/rstream.h> main() { RWTPtrSortedVector<RWDate> vec; vec.insert(new RWDate(10, "Aug", 1991)); vec.insert(new RWDate(9, "Aug", 1991)); vec.insert(new RWDate(1, "Sep", 1991)); vec.insert(new RWDate(14, "May", 1990)); vec.insert(new RWDate(1, "Sep", 1991)); // 重複して追加する vec.insert(new RWDate(2, "June", 1991)); for (int i=0; i<vec.length(); i++) cout << *vec[i] << endl; vec.clearAndDestroy(); return 0; } |
May 14, 1990 June 2, 1991 August 9, 1991 August 10, 1991 September 1, 1991 September 1, 1991 |
RWTPtrSortedVector(size_t capac = RWDEFAULT_CAPACITY);
RWTPtrSortedVector<T>(const RWTPtrSortedVector<T>& c);
RWTPtrSortedVector<T>& operator=(const RWTPtrSortedVector& c);
T*& operator()(size_t i); T* const& operator()(size_t i) const;
T*& operator[](size_t i); T* const& operator[](size_t i) const;
T*& at(size_t i); T* const& at(size_t i) const;
void clear();
void clearAndDestroy();
RWBoolean contains(const T* a) const;
T* const * data() const;
size_t entries() const;
T* find(const T* target) const;
T* const& first() const;
size_t index(const T* a) const;
void insert(T* a);
RWBoolean isEmpty() const;
T* const& last() const;
size_t length() const;
size_t occurrencesOf(const T* a) const;
T* remove(const T* a);
size_t removeAll(const T* a);
T* removeAt(size_t i);
T* removeFirst();
T* removeLast();
void resize(size_t N);
RWvostream& operator<<(RWvostream& strm, const RWTPtrSortedVector<T>& coll); RWFile& operator<<(RWFile& strm, const RWTPtrSortedVector<T>& coll);
RWvistream& operator>>(RWvistream& strm, RWTPtrSortedVector<T>& coll); RWFile& operator>>(RWFile& strm, RWTPtrSortedVector<T>& coll);
RWvistream& operator>>(RWvistream& strm, RWTPtrSortedVector<T>*& p); RWFile& operator>>(RWFile& strm, RWTPtrSortedVector<T>*& p);