バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
#include <rw/tphset.h> unsigned hashFun(const T&); RWTPtrHashSet(hashFun) set;
注 - 標準 C++ ライブラリがない場合は、ここで説明しているインタフェースを使用してください。標準 C++ ライブラリがある場合は、クラスリファレンスの説明にあるインタフェースを使用してください。
クラス RWTPtrHashTable<T> の場合と同様、ハッシュ関数をコンストラクタに用意しなければなりません。
クラス T には次のものが必要です。
This examples exercises a set of RWCStrings. #include <rw/tphset.h> #include <rw/cstring.h> #include <rw/rstream.h> main() { RWTPtrHashSet<RWCString> set(RWCString::hash); set.insert(new RWCString("one")); set.insert(new RWCString("two")); set.insert(new RWCString("three")); set.insert(new RWCString("one")); cout << set.entries() << endl; // "3" を出力する set.clearAndDestroy(); return 0; } |
3 |
RWTPtrHashSet<T>(unsigned (*hashFun)(const T&), size_t buckets = RWDEFAULT_CAPACITY);
RWTPtrHashSet<T>& Union(const RWTPtrHashSet<T>& h);
RWTPtrHashSet<T>& difference(const RWTPtrHashSet<T>& h);
RWTPtrHashSet<T>& intersection(const RWTPtrHashSet<T>& h);
RWTPtrHashSet<T>& symmetricDifference(const RWTPtrHashSet<T>& h);
RWBoolean isSubsetOf(const RWTPtrHashSet<T>& h) const;
RWBoolean isProperSubsetOf(const RWTPtrHashSet<T>& h) const;
RWBoolean isEquivalent(const RWTPtrHashSet<T>& h) const;
RWBoolean operator!=(const RWTPtrHashSet<T>& h) const;
void apply(void (*applyFun)(T*, void*), void* d);
void clear();
void clearAndDestroy();
RWBoolean contains(const T* a) const;
size_t entries() const;
T* find(const T* target) const;
void insert(T* a);
RWBoolean isEmpty() const;
size_t occurrencesOf(const T* a) const;
T* remove(const T* a);
size_t removeAll(const T* a);
void resize(size_t N);