Udostępnij za pośrednictwem


Klasa CRBMultiMap

Ta klasa reprezentuje struktury mapowania, dzięki czemu każdy klucz można skojarzyć z więcej niż jedną wartość, używając binarne drzewo czerwono-czarne.

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
> class CRBMultiMap : public CRBTree< K, V, KTraits, VTraits >

Parametry

  • K
    Typ elementu kluczy.

  • V
    Wartość typu elementu.

  • KTraits
    Kod używany do skopiowania lub przeniesienia kluczowych elementów.Zobacz Klasy CElementTraits więcej informacji.

  • VTraits
    Kod używany do kopiowania lub przenoszenia elementów wartość.

Członkowie

1ddxd5hx.collapse_all(pl-pl,VS.110).gifPubliczne konstruktory

Nazwa

Opis

CRBMultiMap::CRBMultiMap

Konstruktor.

CRBMultiMap:: ~ CRBMultiMap

Destruktor.

1ddxd5hx.collapse_all(pl-pl,VS.110).gifMetody publiczne

Nazwa

Opis

CRBMultiMap::FindFirstWithKey

Wywołanie tej metody, aby znaleźć pozycję pierwszego elementu z określonym kluczem.

CRBMultiMap::GetNextValueWithKey

Wywołanie tej metody do uzyskania wartości skojarzone z danym kluczem i aktualizacji wartości pozycji.

CRBMultiMap::GetNextWithKey

Wywołanie tej metody get element skojarzony z określonym kluczem i aktualizacji wartości pozycji.

CRBMultiMap::Insert

Wywołanie tej metody, aby wstawić parę elementu do mapy.

CRBMultiMap::RemoveKey

Wywołanie tej metody, aby usunąć wszystkie elementy klucz i wartość dla danego klucza.

Uwagi

CRBMultiMapzapewnia obsługę tablicy mapowania z dowolnego typu, Zarządzanie macierzą zamówione kluczowych elementów i wartości.W odróżnieniu od CRBMap klasy, każdy klucz może być skojarzona z więcej niż jedną wartość.

Elementy (składające się z klucza i wartości) są przechowywane w binarne drzewo struktury, za pomocą CRBMultiMap::Insert metody.Elementy można usunąć za pomocą CRBMultiMap::RemoveKey metodę, która usuwa wszystkie elementy, które odpowiadają danym kluczu.

Przeglądanie drzewa jest możliwe za pomocą metod takich jak CRBTree::GetHeadPosition, CRBTree::GetNext, i CRBTree::GetNextValue.Dostęp do potencjalnie wiele wartości dla jednego klucza jest możliwe za pomocą CRBMultiMap::FindFirstWithKey, CRBMultiMap::GetNextValueWithKey, i CRBMultiMap::GetNextWithKey metody.Zobacz przykład dla CRBMultiMap::CRBMultiMap dla ilustracja to w praktyce.

KTraits i VTraits cechujących klasy, które zawierają kod uzupełniający potrzebne, aby skopiować lub przenieść elementy są parametry.

CRBMultiMappochodzi z CRBTree, który implementuje drzewo binarne przy użyciu algorytmu czerwono-czarne.Alternatywą dla CRBMultiMap i CRBMap jest oferowany przez CAtlMap klasy.Gdy tylko niewielka liczba elementów musi być przechowywane, należy rozważyć użycie CSimpleMap zamiast klasy.

Bardziej kompletny różnych klas kolekcji i ich funkcje i cechy wydajności, zobacz Klasy kolekcji ATL.

Hierarchii dziedziczenia

CRBTree

CRBMultiMap

Wymagania

Nagłówek: atlcoll.h

Zobacz też

Informacje

Klasa CRBTree

Klasa CAtlMap

Klasa CRBMap

Inne zasoby

Omówienie klasy ATL