Třída CRBMultiMap
Tato třída představuje mapování struktury, která umožňuje že každému klíči lze přidružit více než jednu hodnotu červená-černá binární strom.
template<
typename K,
typename V,
class KTraits = CElementTraits< K >,
class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >
Parametry
K
Typ klíče prvku.V
Typ prvku hodnotu.KTraits
Kód používaný zkopírovat nebo přesunout hlavní prvky.Viz CElementTraits třídy další podrobnosti.VTraits
Kód používaný zkopírovat nebo přesunout prvky hodnotu.
Členy
Veřejné konstruktory
Název |
Description |
---|---|
Konstruktor. |
|
Destruktoru. |
Veřejné metody
Název |
Description |
---|---|
Volání této metody k vyhledání pozice prvního prvku pomocí daného klíče. |
|
Volání této metody k získání hodnoty přidružené k dané klíče a aktualizovat hodnotu polohy. |
|
Volání této metody získání prvku přidruženého k danému klíči a aktualizovat hodnotu polohy. |
|
Volání této metody dvojici prvku vložit do mapy. |
|
Volání této metody odebrat všechny prvky klíč hodnota pro daný klíč. |
Poznámky
CRBMultiMapposkytuje podporu pro mapování pole daného typu, Správa objednané pole prvků klíče a hodnoty.Na rozdíl od CRBMap třídy, každý klíč může být přiřazena více než jednu hodnotu.
Prvky (sestávající z klíče a hodnoty) jsou uloženy v binární strom struktury pomocí CRBMultiMap::Insert metoda.Prvky mohou být odstraněny pomocí CRBMultiMap::RemoveKey metodu, která odstraní všechny prvky, které odpovídají daný klíč.
Procházení stromu je umožněno pomocí metod jako CRBTree::GetHeadPosition, CRBTree::GetNext, a CRBTree::GetNextValue.Přístup potenciálně více hodnot klíče je možné pomocí CRBMultiMap::FindFirstWithKey, CRBMultiMap::GetNextValueWithKey, a CRBMultiMap::GetNextWithKey metod.Příklad pro CRBMultiMap::CRBMultiMap pro ilustraci tohoto v praxi.
KTraits a VTraits jsou třídy širokých, které obsahují jakékoli náhradní kód zkopírovat nebo přesunout prvky potřebné parametry.
CRBMultiMapje odvozen z CRBTree, který implementuje binární strom pomocí algoritmu červená-černá.Alternativa k CRBMultiMap a CRBMap je nabízené CAtlMap třídy.Pokud musí být uloženy pouze malý počet prvků, zvažte použití CSimpleMap namísto třídy.
Podrobnější diskusi o různých kolekce tříd a jejich funkce a charakteristiky, viz Třídy ATL kolekce.
Hierarchii dědičnosti
CRBMultiMap
Požadavky
Záhlaví: atlcoll.h