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
使用的程式碼複製或移動的項目值。
Members
公用建構函式
名稱 |
描述 |
---|---|
建構函式。 |
|
解構函式。 |
公用方法
名稱 |
描述 |
---|---|
呼叫這個方法會尋找第一個項目的位置與指定索引鍵相關聯的。 |
|
呼叫這個方法會取得與相關聯的值指定機碼,並更新位置值。 |
|
呼叫這個方法會取得這個項目與指定的索引鍵,並更新位置值。 |
|
呼叫這個方法插入項目至至對應。 |
|
呼叫這個方法會移除任何特定索引鍵的索引鍵/值組的項目。 |
備註
CRBMultiMap 為對應的任何指定型別的支援,管理已排序的按鍵字元和值。不同於 CRBMap 類別,每一個索引鍵可以與多個值。
項目 (包含索引鍵和值) 使用 CRBMultiMap::Insert 方法,在二進位樹狀目錄樹狀結構中,。使用方法, CRBMultiMap::RemoveKey 項目可移除,刪除所有項目是否符合指定的索引鍵。
周遊樹狀結構允許以方法 (例如、和 CRBTree::GetHeadPositionCRBTree::GetNextCRBTree::GetNextValue。存取可能有多個值的每個索引鍵使用 CRBMultiMap::FindFirstWithKey、 CRBMultiMap::GetNextValueWithKey和 CRBMultiMap::GetNextWithKey 方法。為這個的圖例中 CRBMultiMap::CRBMultiMap 實際上請參閱範例。
KTraits 和 VTraits 參數是包含必要的所有補充程式碼複製或移動項目特性類別。
CRBMultiMap 從 CRBTree衍生,使用紅色粗體演算法,實作二進位樹狀目錄。CAtlMap 類別提供對 CRBMultiMap 和 CRBMap 的選項。當需要儲存時只能有少數項目,請考慮使用 CSimpleMap 類別。
如需各種集合類別和其功能和效能特性的更完整的討論,請參閱 ATL 集合類別。。
繼承階層架構
CRBMultiMap
需求
Header: atlcoll.h