Freigeben über


CRBMultiMap Class

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

Öffentliche Konstruktoren

Name

Description

CRBMultiMap::CRBMultiMap

Der -Konstruktor.

CRBMultiMap::~CRBMultiMap

Der Destruktor.

Ö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 Class

CAtlMap Class

CRBMap Class

Weitere Ressourcen

ATL Class Overview