Freigeben über


set (STL/CLR)

Die Vorlagenklasse beschreibt ein Objekt, das eine VARYINGLängen-Folge von Elementen steuert, die bidirektionalen Zugriff hat. Mit dem Container set, um eine Sequenz von Elementen als WIQ-Datei zu verwalten (fast) ausglichen geordneter Struktur von Knoten, jedem speichernden Element.

In der unten stehenden Beschreibung, GValue ist das GKey identisch, das wiederum das Key identisch ist, es sei denn, das zweite ein Referenz-Typ ist, in diesem Fall Key^ dar.

template<typename Key>
    ref class set
        :   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.

Member

Typdefinition

Beschreibung

set::const_iterator (STL/CLR)

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

set::const_reference (STL/CLR)

Der Typ eines konstanten Verweises auf ein Element.

set::const_reverse_iterator (STL/CLR)

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

set::difference_type (STL/CLR)

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

set::generic_container (STL/CLR)

Der Typ der generischen Schnittstelle für den Container.

set::generic_iterator (STL/CLR)

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

set::generic_reverse_iterator (STL/CLR)

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

set::generic_value (STL/CLR)

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

set::iterator (STL/CLR)

Der Typ eines Iterators für die gesteuerte Sequenz.

set::key_compare (STL/CLR)

Der Reihenfolgendelegat für zwei Schlüssel.

set::key_type (STL/CLR)

Der Typ eines Sortierschlüssels.

set::reference (STL/CLR)

Der Typ eines Verweises auf ein Element.

set::reverse_iterator (STL/CLR)

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

set::size_type (STL/CLR)

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

set::value_compare (STL/CLR)

Der Reihenfolgendelegat für zwei Elementwerte.

set::value_type (STL/CLR)

Der Typ eines Elements.

Memberfunktion

Beschreibung

set::begin (STL/CLR)

Legt den Anfang der kontrollierten Sequenz fest.

set::clear (STL/CLR)

Entfernt alle Elemente.

set::count (STL/CLR)

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

set::empty (STL/CLR)

Testet, dass keine Elemente vorhanden sind.

set::end (STL/CLR)

Legt das Ende der kontrollierten Sequenz fest.

set::equal_range (STL/CLR)

Suchen reichen die mit einem bestimmten Schlüssel.

set::erase (STL/CLR)

Entfernt Elemente an den angegebenen Positionen.

set::find (STL/CLR)

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

set::insert (STL/CLR)

Fügt Elemente hinzu.

set::key_comp (STL/CLR)

Kopiert den Reihenfolgendelegaten für zwei Schlüssel.

set::lower_bound (STL/CLR)

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

set::make_value (STL/CLR)

Erstellt ein Wertobjekt.

set::rbegin (STL/CLR)

Legt den Anfang der umgekehrten kontrollierten Sequenz fest.

set::rend (STL/CLR)

Legt das Ende der umgekehrten kontrollierten Sequenz fest.

set::set (STL/CLR)

Erstellt ein container-Objekt.

set::size (STL/CLR)

Ermittelt die Anzahl der Elemente.

set::swap (STL/CLR)

Vertauscht den Inhalt von zwei Containern.

set::to_array (STL/CLR)

Kopiert die gesteuerte Sequenz zu einem neuen Array.

set::upper_bound (STL/CLR)

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

set::value_comp (STL/CLR)

Kopiert den Reihenfolgendelegaten für zwei Elementwerte.

Operator

Beschreibung

set::operator= (STL/CLR)

Ersetzt die gesteuerte Sequenz.

operator!= (set) (STL/CLR)

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

operator< (set) (STL/CLR)

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

operator<= (set) (STL/CLR)

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

operator== (set) (STL/CLR)

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

operator> (set) (STL/CLR)

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

operator>= (set) (STL/CLR)

Bestimmt, ob ein set-Objekt größer oder gleich einem anderen set-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 set::key_compare (STL/CLR). Sie können dem gespeicherten Delegatobjekt angeben, wenn Sie den Satz 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 set::key_comp (STL/CLR)() aufrufen.

Ein solches Delegatobjekt muss eine genaue schwache Sortierung Schlüsseln des Typs set::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 set (STL/CLR), benötigt ein Objekt der Vorlagenklasse set nicht, dass Tasten für alle Elemente eindeutig sind. (zwei oder mehrere Tasten können entsprechende Reihenfolge haben.)

Jedes Element dient als ey und 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.

Ein Satz 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 set::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 festgelegten Iterator 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 sowohl ein Element zugreifen können, das direkt die numerische Position angegeben wird - das erfordert einen Iterator mit wahlfreier Zugriff.

Ein festgelegter Iterator speichert ein Handle auf dem zugeordneten festgelegten Knoten, der wiederum ein Handle auf dem zugeordneten Container speichert. Sie können Iteratoren nur mit ihren zugeordneten Containerobjekten verwenden. Ein festgelegter Iterator bleibt gültig, solange der zugehörige Knoten mit festgelegter einen Satz 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/Satz>

Namespace: cliext

Siehe auch

Referenz

hash_map (STL/CLR)

hash_set (STL/CLR)

hash_set (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

set (STL/CLR)

set (STL/CLR)

Weitere Ressourcen

Referenz zur STL/CLR-Bibliothek