次の方法で共有


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::CRBMultiMap

コンストラクターです。

CRBMultiMap::~CRBMultiMap

デストラクターです。

パブリック メソッド

名前

説明

CRBMultiMap::FindFirstWithKey

指定したキーを持つ最初の要素の位置を検索するには、このメソッドを呼び出します。

CRBMultiMap::GetNextValueWithKey

値を指定したキーに関連付けられているを取得するには、このメソッドを呼び出して位置の値を更新します。

CRBMultiMap::GetNextWithKey

要素を指定したキーに関連付けられているを取得するには、このメソッドを呼び出して位置の値を更新します。

CRBMultiMap::Insert

マップのペアに要素を挿入する場合に、このメソッドを呼び出します。

CRBMultiMap::RemoveKey

指定したキーのキー/値要素をすべて削除するには、このメソッドを呼び出します。

解説

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

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

ツリーを走査することは CRBTree::GetHeadPositionCRBTree::GetNextCRBTree::GetNextValueのようなメソッドで有効になっています。 キーごとによって、複数の値にアクセス CRBMultiMap::FindFirstWithKeyCRBMultiMap::GetNextValueWithKeyCRBMultiMap::GetNextWithKey のメソッドを使用してできます。 次の図の CRBMultiMap::CRBMultiMap の例を実際に参照します。

KTraits と VTraits のパラメーターは、要素をコピーするか、または実行に必要な補足コードを含む特性のクラスです。

CRBMultiMap はから派生します CRBTree、アルゴリズムを使用して、レッドブラック バイナリ ツリーを実行する。 CRBMultiMapCRBMap 代わりに、CAtlMap のクラスによって提供されます。 一部の要素のみを格納する必要がある場合 CSimpleMap の代わりにクラスを使用することを検討してください。

さまざまなコレクション クラスおよび機能およびパフォーマンス特性の詳細については、ATL のコレクション クラスを参照してください。

継承階層

CRBTree

CRBMultiMap

必要条件

Header: atlcoll.h

参照

関連項目

CRBTree クラス

CAtlMap クラス

CRBMap クラス

その他の技術情報

ATL クラスの概要