次の方法で共有


CRBMultiMap クラス

このクラスは、レッドブラック バイナリ ツリーを使用して、各キーを複数の値に関連付けることができるマップ構造体を表します。

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >

パラメーター

  • K
    キー要素の型。

  • V
    値要素の型。

  • KTraits
    キー要素をコピーまたは移動するコード。 詳細については、「CElementTraits クラス」を参照してください。

  • VTraits
    値要素をコピーまたは移動するコード。

解説

CRBMultiMap は、指定された型のマップ配列をサポートし、キー要素と値で構成される順序付けされた配列を管理します。 CRBMap クラスとは異なり、各キーに複数の値を関連付けることができます。

キーと値で構成される要素は、CRBMultiMap::Insert メソッドを使用して、バイナリ ツリー構造体に格納されます。 要素は、CRBMultiMap::RemoveKey メソッドを使用して削除できます。このメソッドは、指定されたキーに一致するすべての要素を削除します。

CRBTree::GetHeadPositionCRBTree::GetNextCRBTree::GetNextValue などのメソッドを使用して、ツリーを走査できます。 1 つのキーに複数の値がある場合に値にアクセスするには、CRBMultiMap::FindFirstWithKeyCRBMultiMap::GetNextValueWithKey、および CRBMultiMap::GetNextWithKey の各メソッドを使用します。 各メソッドの実際の使用方法については、「CRBMultiMap::CRBMultiMap」の例を参照してください。

KTraits パラメーターと VTraits パラメーターは、要素のコピーや移動を補足するコードを持つ特徴 (traits) クラスです。

CRBMultiMap は、レッドブラック アルゴリズムを使用してバイナリ ツリーを実装する CRBTree から派生します。 CAtlMap クラスは、CRBMultiMap および CRBMap の代替クラスとして使用できます。 格納される要素が少量の場合は、CSimpleMap クラスの使用を検討してください。

各種のコレクション クラスおよびその機能とパフォーマンスの詳細については、「ATL コレクション クラス」を参照してください。

必要条件

**ヘッダー:**atlcoll.h

参照

参照

CRBTree クラス

CAtlMap クラス

CRBMap クラス

その他の技術情報

CRBMultiMap のメンバー

ATL クラスの概要