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 |
---|---|
Der -Konstruktor. |
|
Der Destruktor. |
Öffentliche Methoden
Name |
Description |
---|---|
Rufen Sie diese Methode auf, um die Position des ersten Elements mit einer angegebenen Schlüssel zu ermitteln. |
|
Rufen Sie diese Methode auf, um den Wert abzurufen, der mit einer angegebenen Schlüssel, und aktualisieren Sie den Positionswert. |
|
Rufen Sie diese Methode auf, um das Element abzurufen, das einer angegebenen Schlüssel, und aktualisieren Sie den Positionswert. |
|
Rufen Sie diese Methode auf, um ein Elementpaar in die Zuordnung einzufügen. |
|
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
CRBMultiMap
Anforderungen
Header: atlcoll.h