バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.


RWTValHashSet<T>

RWTValHashSet<T> RWTValHashTable<T>

形式

#include <rw/tvhset.h>
unsigned hashFun(const T&);
RWTValHashSet(hashFun) set;

注 - 標準 C++ ライブラリがない場合は、ここで説明しているインタフェースを使用してください。標準 C++ ライブラリがある場合は、クラスリファレンスの説明にあるインタフェースを使用してください。

説明

このクラスは RWTValHashTable<T> の派生クラスで、insert() 関数は与えられた値の項目を 1 つしか挿入しないように上書きされています。したがって、コレクション内の各項目は、それぞれ互いに異なる値を持っています。

クラス RWTValHashTable<T> の場合と同様、ハッシュ関数をコンストラクタに用意しなければなりません。

クラス T には次のものが必要です。

持続性

なし

次の例は、RWCString のセットを処理しています。

#include <rw/tvhset.h>
#include <rw/cstring.h>
#include <rw/rstream.h>

main(){
  RWTValHashSet<RWCString> set(RWCString::hash);

  set.insert("one");
  set.insert("two");
  set.insert("three");
  set.insert("one");  // 受け入れ拒否: すでにコレクション内にあり

  cout << set.entries() << endl;  // "3" を出力する
  return 0;
}

プログラム出力:

3

公開メンバー関数

RWTValHashSet<T>&
Union(const RWTValHashSet<T>& h);

自分自身と h との和集合を計算し、自分自身を変更し、自分自身を返します。

RWTValHashSet<T>&
difference(const RWTValHashSet<T>& h);

自分自身と h との差集合を計算し、自分自身を変更し、自分自身を返します。

RWTValHashSet<T>&
intersection(const RWTValHashSet<T>& h);

自分自身と h との積集合を計算し、自分自身を変更し、自分自身を返します。

RWTValHashSet<T>&
symmetricDifference(const RWTValHashSet<T>& h);

自分自身と h との対称差集合を計算し、自分自身を変更し、自分自身を返します。

RWBoolean
isSubsetOf(const RWTValHashSet<T>& h) const;

自分自身が h の部分集合である場合、TRUE を返します。

RWBoolean
isProperSubsetOf(const RWTValHashSet<T>& h) const;

自分自身が h の真部分集合である場合、TRUE を返します。

RWBoolean
isEquivalent(const RWTValHashSet<T>& h) const;

自分自身と h が等しい場合、TRUE を返します。

void
apply(void (*applyFun)(T&, void*), void* d);

クラス RWTValHashTable<T> から継承した関数。

void
clear();

クラス RWTValHashTable<T> から継承した関数。

RWBoolean
contains(const T& val) const;

クラス RWTValHashTable<T> から継承した関数。

size_t
entries() const;

クラス RWTValHashTable<T> から継承した関数。

RWBoolean
find(const T& target, T& k) const;

クラス RWTValHashTable<T> から継承した関数。

void
insert(const T& val);

クラス RWTValHashTable<T> から再定義した関数。与えられた値のオブジェクトを 1 度だけ挿入できます。

RWBoolean
isEmpty() const;

クラス RWTValHashTable<T> から継承した関数。

size_t
occurrencesOf(const T& val) const;

クラス RWTValHashTable<T> から継承した関数。

RWBoolean
remove(const T& val);

クラス RWTValHashTable<T> から継承した関数。

size_t
removeAll(const T& val);

クラス RWTValHashTable<T> から継承した関数。

void
resize(size_t N);

クラス RWTValHashTable<T> から継承した関数。