Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWTValHashSet

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

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 には次のものが必要です。

  - コピーの意味の定義 (`T::T(const T&)` または同等のもの)
  - 代入の意味の定義 (`T::operator=(const T&)` または同等のもの)
  - 等価の意味の定義 (`T::operator==(const 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> から継承した関数。