Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWTPtrSlistDictionary<KP,VP>

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

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

## RWTPtrSlistDictionary<KP,VP>

### 形式

      #include <rw/tpsldict.h>
      RWTPtrSlistDictionary<KP,VP> slistDict;

### 説明

  このクラスは、キーと値の組み合わせの侵入的片方向リストとして実装されている、ポインタにもとづく値のコレクションを維持します。クラス KP はキーの部分が指す型であり、クラス VP は値の部分が指す型です。

### 持続性

  同形

### 関連クラス

  このクラスは、RWTPtrHashDictionary の実装に使用します。

### 公開コンストラクタ

      RWTPtrSlistDictionary<KP,VP>();

    空の片方向リンク辞書を作成し、KP 型、VP 型を指すポインタを保持します。

      RWTPtrSlist<KP,VP>(const RWTPtrSlistDictionary<KP,VP>&);

    コンストラクタをコピーします。

### 公開メンバー演算子

      RWTPtrSlistDictionary<KP,VP>&
      operator=(const RWTPtrSlistDictionary<KP,VP>& lst);

    すべての要素をクリアし、`lst` のすべての要素を挿入します。

      VP*&
      operator[](KP *key);

    キー `key` に関連づけられた値の参照を返します。キー `key` に何も値が関連づけられていない場合は、関連づける値と nil ポインタ値を作成し、挿入します。

### 公開メンバー関数

      void
      applyToKeyAndValue(void (*appFn)(KP*, VP*&,void*), void* d);

    `appFn` が指すユーザー定義関数を、コレクション内の各項目に適用します。パラメータ `d` で、クライアントデータを渡します。

      clear();

    すべての組み合わせを削除して、コレクションを消去します。

      void
      clearAndDestroy();

    コレクションからすべての項目を削除し、`delete` 演算子を使用して、これらの項目が指すオブジェクトを破棄します。同じオブジェクトに対して複数のポインタが格納される場合は、このメソッドを使用しないでください。

      RWBoolean
      contains(const KP* a) const;

    式 `(*k == *a)` が `TRUE` になるようなキー `k` がある場合は `TRUE` を返し、ない場合は `FALSE` を返します。

      size_t
      entries() const;

    項目数を返します。

      KP*
      find(const KP* a) const;

    式 `(*k == *a)` が `TRUE` になるようなキー `k` がある場合は `k` を返します。ない場合には、`rwnil` を返します。

      KP*
      findKeyAndValue(const KP* a, VP*& retval) const;

    式 `(*k == *a)` が `TRUE` になるようなキー `k` がある場合は、対になる値の部分で `retval` を置き換え、`k` を返します。該当するキーがない場合は `rwnil` を返します。

      VP*
      findValue(const KP* a) const;

  式 `(*k == *a)` が `TRUE` になるようなキー `k` がある場合は対になる値の部分を返し、該当するキーがない場合は `rwnil` を返します。

      void
      inserKeyAndValue(KP* k, VP* v);

  `find(k)` が失敗した場合、`k` と `v` の値を持つ新しい対になる値を挿入します。それ以外の場合は、`k` に関連づけられた値を `v` の値で置き換えます。

      RWBoolean
      isEmpty() const;

    コレクションに項目がまったくない場合は `TRUE`、それ以外の場合は `FALSE` を返します。

      KP*
      remove(const KP* k);

    `find(k)` が成功した場合、`k` に関連づけられた対になる値を削除し、キーの部分を返します。それ以外の場合は `rwnil` を返します。

      KP*
      removeKeyAndValue(const KP* k VP*& retVal);

    `find(k)` が成功した場合、`k` に関連づけられた対になる値を削除し、`retVal` で置き換え、キーの部分を返します。それ以外の場合は `rwnil` を返します。