Sdílet prostřednictvím


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

CRBMultiMap::CRBMultiMap

Konstruktor.

CRBMultiMap:: ~ CRBMultiMap

Destruktoru.

Veřejné metody

Název

Description

CRBMultiMap::FindFirstWithKey

Volání této metody k vyhledání pozice prvního prvku pomocí daného klíče.

CRBMultiMap::GetNextValueWithKey

Volání této metody k získání hodnoty přidružené k dané klíče a aktualizovat hodnotu polohy.

CRBMultiMap::GetNextWithKey

Volání této metody získání prvku přidruženého k danému klíči a aktualizovat hodnotu polohy.

CRBMultiMap::Insert

Volání této metody dvojici prvku vložit do mapy.

CRBMultiMap::RemoveKey

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

CRBTree

CRBMultiMap

Požadavky

Záhlaví: atlcoll.h

Viz také

Referenční dokumentace

Třída CRBTree

Třída CAtlMap

Třída CRBMap

Další zdroje

Přehled třídy ATL