Freigeben über


multimap (STL/CLR)

Die Vorlagenklasse beschreibt ein Objekt, das eine VARYINGLängen-Folge von Elementen steuert, die bidirektionalen Zugriff hat. Mit dem Container multimap, um eine Sequenz von Elementen als WIQ-Datei zu verwalten (fast) ausglichen geordneter Struktur von Knoten, jedem speichernden Element. Ein Element besteht eine Schlüssel, für Sortierungen der Sequenz und einen zugeordneten Wert, der entlang der Fahrt anstrebt.

In der unten stehenden Beschreibung, ist GValue identisch:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

Hierbei ist:

GKey entspricht Key, außer, das zweite ein Referenz-Typ ist, in diesem Fall wird Key^ ist

GMapped entspricht Mapped, außer, das zweite ein Referenz-Typ ist, in diesem Fall wird Mapped^ ist

template<typename Key,
    typename Mapped>
    ref class multimap
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
    { ..... };

Parameter

  • Key
    Der Typ der Schlüsselkomponente eines Elements in der kontrollierten Sequenz.

  • Zugeordnet
    Der Typ der zusätzlichen Komponente eines Elements in der Sequenz. gesteuerten

Member

Typdefinition

Beschreibung

multimap::const_iterator (STL/CLR)

Der Typ eines konstanten Iterators für die gesteuerte Sequenz.

multimap::const_reference (STL/CLR)

Der Typ eines konstanten Verweises auf ein Element.

multimap::const_reverse_iterator (STL/CLR)

Der Typ eines konstanten umgekehrten Iterators für die gesteuerte Sequenz.

multimap::difference_type (STL/CLR)

Der Typ der Abstand eine (möglicherweise mit Vorzeichen) zwischen zwei Elementen.

multimap::generic_container (STL/CLR)

Der Typ der generischen Schnittstelle für den Container.

multimap::generic_iterator (STL/CLR)

Der Typ eines Iterators für die generische Schnittstelle für den Container.

multimap::generic_reverse_iterator (STL/CLR)

Der Typ eines umgekehrten Iterators für die generische Schnittstelle für den Container.

multimap::generic_value (STL/CLR)

Der Typ des Elements für die generische Schnittstelle für den Container.

multimap::iterator (STL/CLR)

Der Typ eines Iterators für die gesteuerte Sequenz.

multimap::key_compare (STL/CLR)

Der Reihenfolgendelegat für zwei Schlüssel.

multimap::key_type (STL/CLR)

Der Typ eines Sortierschlüssels.

multimap::mapped_type (STL/CLR)

Der Typ des zugehörigen Werts jeder zugeordneten Schlüssel zu.

multimap::reference (STL/CLR)

Der Typ eines Verweises auf ein Element.

multimap::reverse_iterator (STL/CLR)

Der Typ eines umgekehrten Iterators für die gesteuerte Sequenz.

multimap::size_type (STL/CLR)

Der Typ (nicht negative a) Abstands zwischen zwei Elementen.

multimap::value_compare (STL/CLR)

Der Reihenfolgendelegat für zwei Elementwerte.

multimap::value_type (STL/CLR)

Der Typ eines Elements.

Memberfunktion

Beschreibung

multimap::begin (STL/CLR)

Legt den Anfang der kontrollierten Sequenz fest.

multimap::clear (STL/CLR)

Entfernt alle Elemente.

multimap::count (STL/CLR)

Zählt die Elemente, die einen angegebenen Schlüssel übereinstimmen.

multimap::empty (STL/CLR)

Testet, dass keine Elemente vorhanden sind.

multimap::end (STL/CLR)

Legt das Ende der kontrollierten Sequenz fest.

multimap::equal_range (STL/CLR)

Suchen reichen die mit einem bestimmten Schlüssel.

multimap::erase (STL/CLR)

Entfernt Elemente an den angegebenen Positionen.

multimap::find (STL/CLR)

Sucht ein Element, der einem angegebenen Schlüssel entspricht.

multimap::insert (STL/CLR)

Fügt Elemente hinzu.

multimap::key_comp (STL/CLR)

Kopiert den Reihenfolgendelegaten für zwei Schlüssel.

multimap::lower_bound (STL/CLR)

Sucht Anfang des Bereichs, der einen angegebenen Schlüssel entspricht.

multimap::make_value (STL/CLR)

Erstellt ein Wertobjekt.

multimap::multimap (STL/CLR)

Erstellt ein container-Objekt.

multimap::rbegin (STL/CLR)

Legt den Anfang der umgekehrten kontrollierten Sequenz fest.

multimap::rend (STL/CLR)

Legt das Ende der umgekehrten kontrollierten Sequenz fest.

multimap::size (STL/CLR)

Ermittelt die Anzahl der Elemente.

multimap::swap (STL/CLR)

Vertauscht den Inhalt von zwei Containern.

multimap::to_array (STL/CLR)

Kopiert die gesteuerte Sequenz zu einem neuen Array.

multimap::upper_bound (STL/CLR)

Suchenende des Bereichs, der einen angegebenen Schlüssel entspricht.

multimap::value_comp (STL/CLR)

Kopiert den Reihenfolgendelegaten für zwei Elementwerte.

Operator

Beschreibung

multimap::operator= (STL/CLR)

Ersetzt die gesteuerte Sequenz.

operator!= (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt nicht gleich ein anderes multimap-Objekt ist.

operator< (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt kleiner als ein anderes multimap-Objekt ist.

operator<= (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt maximal ein anderes multimap-Objekt ist.

operator== (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt ein anderes Objekt gleich multimap ist.

operator> (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt größer als ein anderes multimap-Objekt ist.

operator>= (multimap) (STL/CLR)

Bestimmt, ob ein multimap-Objekt größer oder gleich einem anderen multimap-Objekt ist.

Schnittstellen

Schnittstelle

Beschreibung

ICloneable

Ein Objekt duplizieren.

IEnumerable

Sequenz durch Elemente.

ICollection

Unbegrenztes Beibehalten Elementgruppe bei.

IEnumerable

Sequenz von typisierten Elemente.

ICollection

Unbegrenztes Beibehalten Gruppe typisierten Elemente bei.

ITreeKey <, Value>

Warten Sie generischen Container.

Hinweise

Das Objekt belegt und gibt die Sequenz für Speicher frei, die er als einzelne Knoten steuert. Es werden Elemente in ein (fast) ausglich Struktur, Relevanz die es enthält, indem die Links zwischen Knoten ändert, nie ein, indem der Inhalt von einem Knoten zum anderen kopiert. Das bedeutet, dass Sie Elemente beunruhigende ohne verbleibende Elemente frei einfügen und löschen können.

Das Objekt ordnet die Sequenz, die steuert, indem ein gespeichertes Delegatobjekt des Typs multimap::key_compare (STL/CLR). Sie können dem gespeicherten Delegatobjekt angeben, wenn die Multimap erstellen; Wenn Sie kein Delegatobjekt angeben, gilt standardmäßig der Vergleich operator<(key_type, key_type). Sie greifen auf das gespeicherte Objekt zu, indem Sie die Memberfunktion multimap::key_comp (STL/CLR)() aufrufen.

Ein solches Delegatobjekt muss eine genaue schwache Sortierung Schlüsseln des Typs multimap::key_type (STL/CLR) festlegen. Das heißt, für alle zwei Schlüssel X und Y:

key_comp()(X, Y) gibt die gleichen Auswirkungen auf booleschen jeden Aufruf zurück.

Wenn key_comp()(X, Y) true ist, muss key_comp()(Y, X) falsch sein.

Wenn key_comp()(X, Y) true ist, dann wird X vor Y nach.

Wenn !key_comp()(X, Y) && !key_comp()(Y, X) true ist, werden X und Y gibt an, um übereinstimmende Reihenfolge zu haben.

Für jedes Element X, das Y in der Sequenz gesteuerten vorangeht, ist key_comp()(Y, X) falsch. (Für das Standarddelegatobjekt, verringert wird Schlüssel nie.) Im Gegensatz Vorlagenklasse map (STL/CLR), benötigt ein Objekt der Vorlagenklasse multimap nicht, dass Tasten für alle Elemente eindeutig sind. (zwei oder mehrere Tasten können entsprechende Reihenfolge haben.)

Jedes Element enthält eine eigene Schlüssel und einen zugeordneten Wert. Die Sequenz wird so dargestellt, die Ermittlung, Einfügen und Entfernen eines beliebigen Elements mit Operationen zulässt, die z Logarithmus der Anzahl der Elemente in der Sequenz proportional sind (logarithmische Zeit). Außerdem ein Element Einfügen macht keine Iteratoren ungültig, und ein Element entfernen, Iteratoren ungültig macht nur die am entfernten Element zeigen.

Eine Multimap unterstützt bidirektionale Iteratoren, dass Sie zu benachbarten Elementen werden kann, dass ein Iterator angegeben werden, der ein Element in der Sequenz gesteuerten festlegt. Ein spezieller Hauptknoten entspricht dem Iterator, der durch multimap::end (STL/CLR)() zurückgegeben wird. Sie können diesen Iterator Dekrementieren, um das letzte Element der gesteuerten Sequenz erreicht, wenn vorhanden. Sie können einen Multimapiterator erhöhen, um den Hauptknoten erreicht, und vergleicht er dann gleich end(). Sie können jedoch den Iterator nicht möglich, der von end() zurückgegeben wird.

Beachten Sie, dass Sie ein Multimapelement nicht zugreifen können, das direkt die numerische Position angegeben wird - das erfordert einen Iterator mit wahlfreier Zugriff.

Ein Multimapiterator speichert ein Handle auf dem zugeordneten Multimapknoten, der wiederum ein Handle auf dem zugeordneten Container speichert. Sie können Iteratoren nur mit ihren zugeordneten Containerobjekten verwenden. Ein Multimapiterator bleibt gültig, solange der zugehörige Multimapknoten mit einer Multimap zugeordnet ist. Darüber hinaus ist ein gültiger dereferencable Iterator - Sie können ihn verwenden, um auf den Elementwert zuzugreifen oder zu ändern, der festlegt wird - solange er nicht gleich end() ist.

Ein Element Löschen oder entfernen, wird der Destruktor für den gespeicherten Wert auf. Die Container Löschen eines Auflistungsobjekts, löscht alle Elemente. Somit wird sichergestellt ein Container, dessen Elementtyp eine Verweisklasse, ist, dass keine Elemente den Container Beibehaltene Objekte. Beachten Sie jedoch dem Container Handles not bewirkt, zerstören seine Elemente.

Anforderungen

Header: <cliext/Zuordnung>

Namespace: cliext

Siehe auch

Referenz

hash_map (STL/CLR)

hash_multimap (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

Weitere Ressourcen

Referenz zur STL/CLR-Bibliothek