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
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstruktor. |
|
Destruktor. |
Metody publiczne
Nazwa |
Opis |
---|---|
Wywołanie tej metody, aby znaleźć pozycję pierwszego elementu z określonym kluczem. |
|
Wywołanie tej metody do uzyskania wartości skojarzone z danym kluczem i aktualizacji wartości pozycji. |
|
Wywołanie tej metody get element skojarzony z określonym kluczem i aktualizacji wartości pozycji. |
|
Wywołanie tej metody, aby wstawić parę elementu do mapy. |
|
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
CRBMultiMap
Wymagania
Nagłówek: atlcoll.h