CRBMultiMap-Klasse

Diese Klasse stellt eine Zuordnungsstruktur dar, die alle Schlüssel kann mit mehr als einem Wert, RED-Schwarz mithilfe einer binären Struktur zugeordnet werden können.

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

Parameter

  • K
    Der Schlüsselelementtyp.

  • V
    Der Wertselementtyp.

  • KTraits
    Der Code verwendet, um Schlüsselelemente zu kopieren oder verschieben.Siehe CElementTraits-Klasse für weitere Details.

  • VTraits
    Der Code verwendet, um Wertelemente zu kopieren oder verschieben.

Mitglieder

1ddxd5hx.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CRBMultiMap::CRBMultiMap

Der -Konstruktor.

CRBMultiMap::~CRBMultiMap

Der Destruktor.

1ddxd5hx.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CRBMultiMap::FindFirstWithKey

Rufen Sie diese Methode auf, um die Position des ersten Elements mit einer angegebenen Schlüssel zu ermitteln.

CRBMultiMap::GetNextValueWithKey

Rufen Sie diese Methode auf, um den Wert abzurufen, der mit einer angegebenen Schlüssel, und aktualisieren Sie den Positionswert.

CRBMultiMap::GetNextWithKey

Rufen Sie diese Methode auf, um das Element abzurufen, das einer angegebenen Schlüssel, und aktualisieren Sie den Positionswert.

CRBMultiMap::Insert

Rufen Sie diese Methode auf, um ein Elementpaar in die Zuordnung einzufügen.

CRBMultiMap::RemoveKey

Rufen Sie diese Methode auf, um alle Schlüssel-Werts-Elemente für eine angegebene Schlüssel zu entfernen.

Hinweise

CRBMultiMap bietet Unterstützung für ein Zuordnungsarray eines angegebenen Typs und verwaltet ein geordnetes Array Schlüsselelemente und Werte.Im Gegensatz zur CRBMap-Klasse kann jede Schlüssel mit mehr als einem Wert zugeordnet werden.

Elemente (einem Schlüssel und einem Wert bestehend) werden in einer Struktur der binären Struktur, mithilfe der Methode CRBMultiMap::Insert gespeichert.Elemente können mit der Methode CRBMultiMap::RemoveKey entfernt werden, die alle Elemente gelöscht werden, die die angegebene Schlüssel entsprechen.

Das Durchlaufen der Struktur wird mit Methoden wie CRBTree::GetHeadPosition, CRBTree::GetNext und CRBTree::GetNextValue zulässt.Auf die möglicherweise mehrere Werte pro Schlüssel zuzugreifen kann mithilfe der CRBMultiMap::FindFirstWithKey, CRBMultiMap::GetNextValueWithKey und CRBMultiMap::GetNextWithKey-Methoden möglich.Im Beispiel für CRBMultiMap::CRBMultiMap für eine Abbildung von diesem in der Praxis.

Die KTraits und VTraits-Parameter sind Merkmalklassen, die jeden ergänzenden Code enthalten, der erforderlich ist, um Elemente zu kopieren oder verschieben.

CRBMultiMap wird von CRBTree berechnet, das einer binären Struktur mithilfe des RED-Schwarz Algorithmus implementiert.Eine Alternative zu CRBMultiMap und zu CRBMap wird durch die CAtlMap-Klasse bereitgestellte.Wenn nur eine kleine Anzahl Elemente gespeichert werden müssen, erwägen Sie, die CSimpleMap-Klasse stattdessen zu verwenden.

Weitere finden vollständige Erläuterung der verschiedenen Auflistungsklassen und ihre Funktionen und Leistungsmerkmale, ATL-Auflistungsklassen.

Vererbungshierarchie

CRBTree

CRBMultiMap

Anforderungen

Header: atlcoll.h

Siehe auch

Referenz

CRBTree-Klasse

CAtlMap-Klasse

CRBMap-Klasse

Weitere Ressourcen

ATL-Klassenübersicht