CRBMap クラス
更新 : 2007 年 11 月
このクラスは、レッドブラック バイナリ ツリーを使用して、マップ構造体を表します。
template<
typename K,
typename V,
class KTraits = CElementTraits< K >,
class VTraits = CElementTraits< V >
> class CRBMap : public CRBTree< K, V, KTraits, VTraits >
パラメータ
K
キー要素の型。V
値要素の型。KTraits
キー要素をコピーまたは移動するコード。詳細については、「CElementTraits クラス」を参照してください。VTraits
値要素をコピーまたは移動するコード。
解説
CRBMap は、指定された型のマップ配列をサポートし、キー要素とそれに関連付けられた値で構成される順序付けされた配列を管理します。各キーには、値を 1 つだけ関連付けることができます。キーと値で構成される要素は、CRBMap::SetAt メソッドを使用して、バイナリ ツリー構造体に格納されます。要素は、CRBMap::RemoveKey メソッドを使用して削除できます。このメソッドは、指定されたキー値を持つ要素を削除します。
CRBTree::GetHeadPosition、CRBTree::GetNext、CRBTree::GetNextValue などのメソッドを使用して、ツリーを走査できます。
KTraits パラメータと VTraits パラメータは、要素のコピーや移動を補足するコードを持つ特徴 (traits) クラスです。
CRBMap は、レッドブラック アルゴリズムを使用してバイナリ ツリーを実装する CRBTree から派生します。CRBMultiMap は CRBMap の変形で、各キーに複数の値を格納できます。CRBMap と同様に CRBTree から派生するため、CRBMap と多くの機能を共有します。
CAtlMap クラスは、CRBMap および CRBMultiMap の代替クラスとして使用できます。格納される要素が少量の場合は、CSimpleMap クラスの使用を検討してください。
各種のコレクション クラスおよびその機能とパフォーマンスの詳細については、「ATL コレクション クラス」を参照してください。
必要条件
ヘッダー : atlcoll.h