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::GetHeadPosition、CRBTree::GetNextと CRBTree::GetNextValueのようなメソッドで有効になっています。キーごとによって、複数の値にアクセス CRBMultiMap::FindFirstWithKey、CRBMultiMap::GetNextValueWithKeyと CRBMultiMap::GetNextWithKey のメソッドを使用してできます。次の図の CRBMultiMap::CRBMultiMap の例を実際に参照します。
KTraits と VTraits のパラメーターは、要素をコピーするか、または実行に必要な補足コードを含む特性のクラスです。
CRBMultiMap はから派生します CRBTree、アルゴリズムを使用して、レッドブラック バイナリ ツリーを実行する。CRBMultiMap と CRBMap 代わりに、CAtlMap のクラスによって提供されます。一部の要素のみを格納する必要がある場合 CSimpleMap の代わりにクラスを使用することを検討してください。
さまざまなコレクション クラスおよび機能およびパフォーマンス特性の詳細については、ATL のコレクション クラスを参照してください。
継承階層
CRBMultiMap
必要条件
Header: atlcoll.h