バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWTPtrSortedDlist<T,C>
#include <rw/tpsrtdli.h> RWTPtrSortedDlist<T,C> srtdlist;
注 - RWTPtrSortedDlist には標準 C++ ライブラリが必要です。
bool operator()(const T& x, const T& y)これは、コレクション内において、x が y より前になる場合、TRUE を返します。C++ 標準ヘッダーファイル <functional> からの構造体 less<T> がその例です。コレクションの項目は比較前に間接参照されることに注意してください。
// // tpsrtdli.cpp // #include <rw/tpsrtdli.h> #include <rw/rwdate.h> #include <iostream.h> main(){ RWTPtrSortedDList<RWDate,greater<RWDate> > lst; lst.insert(new RWDate(10, "Aug", 1991)); lst.insert(new RWDate(9, "Aug", 1991)); lst.insert(new RWDate(1, "Sep", 1991)); lst.insert(new RWDate(14, "May", 1990)); lst.insert(new RWDate(1, "Sep", 1991)); // 複製を追加する lst.insert(new RWDate(2, "June", 1991)); for (int i=0; i<lst.entries(); i++) cout << *lst[i] << endl; lst.clearAndDestroy(); return 0; } |
09/01/91 09/01/91 08/10/91 08/09/91 06/02/91 05/14/90 |
クラス list<T*,allocator> は、このクラスの基礎となる実装として使用される C++ 標準コレクションです。
typedef rw_deref_compare<C,T> container_comp; typedef list<T*,allocator> container_type; typedef container_type::size_type size_type; typedef container_type::difference_type difference_type; typedef container_type::const_iterator const_iterator; typedef container_type::iterator iterator; typedef T* value_type; typedef T*& reference; typedef T* const& const_reference;
RWTPtrSortedDlist<T,C>();
RWTPtrSortedDlist<T,C>(const RWTPtrSortedDlist<T,C>& lst);
RWTPtrSortedDlist<T,C>(const list<T*,allocator>& lst);
RWTPtrSortedDlist<T,C>(size_type n, T* p);
RWTPtrSortedDlist<T,C>(T** first,T** last);
bool operator<(const RWTPtrSortedDlist<T,C>& lst) const;
bool operator==(const RWTPtrSortedDlist<T,C>& lst) const;
reference operator()(size_type i); const_reference operator()(size_type I) const;
reference operator[](size_type I); const_reference operator[](size_type I) const;
void apply(void (*fn)(T*&,void*), void* d); void apply(void (*fn)(T*,void*), void* d); void apply(void (*fn)(const T*,void*), void* d) const;
void yourfun(const T* a, void* d); void yourfun(T* a, void* d); void yourfun(T* &a,void* d)
reference at(size_type i); const_reference at(size_type i) const;
iterator begin(); const_iterator begin() const;
void clear();
void clearAndDestroy();
bool contains(const T* a) const;
bool contains(bool (*fn)(const T*,void*), void* d) const;
bool yourTester(const T* a, void* d);
iterator end(); const_iterator end() const;
size_type entries() const;
const T* find(const T* a) const;
const T* find(bool (*fn)(const T*,void*), void* d) const;
bool yourTester(const T* a, void* d);
reference first(); const_reference first() const;
size_type index(const T* a) const;
size_type index(bool (*fn)(const T*,void*), void* d) const;
bool yourTester(const T* a, void* d);
size_type insert(const list<T*,allocator>& a);
bool insert(T* a);
bool isEmpty() const;
bool isSorted() const;
T*& last(); T* const& last() const;
size_type merge(const RWTPtrSortedDlist<T,C>& dl);
size_type occurrencesOf(const T* a) const;
size_type occurrencesOf(bool (*fn)(const T*,void*), void* d) const;
bool yourTester(const T* a, void* d);
T* remove(const T* a);
T* remove(bool (*fn)(const T*,void*), void* d);
bool yourTester(const T* a, void* d);
size_type removeAll(const T* a);
size_type removeAll(bool (*fn)(const T*,void*), void* d);
bool yourTester(const T* a, void* d);
T* removeAt(size_type i);
T* removeFirst();
T* removeLast();
const list<T*,allocator>& std() const;
const size_type npos;
RWvostream& operator<<(RWvostream& strm, const RWTPtrSortedDlist<T,C>& coll); RWFile& operator<<(RWFile& strm, const RWTPtrSortedDlist<T,C>& coll);
RWvistream& operator>>(RWvistream& strm, RWTPtrSortedDlist<T,C>& coll); RWFile& operator>>(RWFile& strm, RWTPtrSortedDlist<T,C>& coll);
RWvistream& operator>>(RWvistream& strm, RWTPtrSortedDlist<T,C>*& p); RWFile& operator>>(RWFile& strm, RWTPtrSortedDlist<T,C>*& p);