バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
#include <rw/tvsrtvec.h> RWTValSortedVector<T> sortvec;
注 - 標準 C++ ライブラリがない場合は、ここで説明しているインタフェースを使用してください。標準 C++ ライブラリがある場合は、クラスリファレンスの説明にあるインタフェースを使用してください。
不等号 (<) 演算子によって決められた順序に従って、挿入する項目のコピーをコレクションに格納します。
クラス T には次のものが必要です。
ソート済みベクトルには、長さ (length() か entries() が返す項目の数) と容量があります。どんな場合でも容量は長さ以上です。値にもとづくコレクションではコレクションの長さを超えた要素は使用しませんが、そこに存在はしています。クラス T の各インスタンスが大量の資源を必要とする場合、コレクションの容量が長さよりずっと大きくならないようにしなければなりません。そうしないと、不要な資源まで確保してしまいます。
RWTValSortedVector<T> に含まれるオブジェクトを変更することは可能ですが、危険です。RWTValSortedVector<T> をソートされていない状態にし、その変更が operator<() と operator==() の動作に影響するためです。
#include <rw/tvsrtvec.h> #include <rw/rwdate.h> #include <rw/rstream.h> { RWTValSortedVector<RWDate> vec; vec.insert(RWDate(10, "Aug", 1999)); vec.insert(RWDate(9, "Aug", 1999)); vec.insert(RWDate(1, "Sept", 1999)); vec.insert(RWDate(14, "May", 1999)); vec.insert(RWDate(1, "Sept", 1999)); // 重複して追加する vec.insert(RWDate(2, "June", 1999)); for (int i=0; i<vec.length(); i++) cout << vec[i] << endl; return 0; } |
May 14, 1999 June 2, 1999 August 9, 1999 August 10, 1999 September 1, 1999 September 1, 1999 |
RWTValSortedVector(size_t capac = RWDEFAULT_CAPACITY);
T& operator()(size_t i); const T& operator()(size_t i) const;
T& operator[](size_t i); const T& operator[](size_t i) const;
T& at(size_t i); const T& at(size_t i) const;
void clear();
RWBoolean contains(const T& a) const;
const T* data() const;
size_t entries() const;
RWBoolean find(const T& target, T& ret) const;
const T& first() const;
size_t index(const T& a) const;
void insert(const T& a);
RWBoolean isEmpty() const;
const T& last() const;
size_t length() const;
size_t occurrencesOf(const T& a) const;
RWBoolean 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 RWTValSortedVector<T>& coll); RWFile& operator<<(RWFile& strm, const RWTValSortedVector<T>& coll);
RWvistream& operator>>(RWvistream& strm, RWTValSortedVector<T>& coll); RWFile& operator>>(RWFile& strm, RWTValSortedVector<T>& coll);
RWvistream& operator>>(RWvistream& strm, RWTValSortedVector<T>*& p); RWFile& operator>>(RWFile& strm, RWTValSortedVector<T>*& p);