<iterator>
Definiert die Iteratorprimitive, die vordefinierten Iteratoren und die Streamiteratoren sowie einige unterstützende Vorlagen.Die vordefinierten Iteratoreinschliessungseinfügungs- und -rückseitenadapter.Es gibt drei Klassen Einfügungsiteratoradapter: Vordergrund, aufrufen und Allgemein.Sie stellen Einfügungssemantik anstatt die überschreibenssemantik bereit, die die Containermemberfunktionsiteratoren bereitstellen.
#include <iterator>
Hinweise
Iteratoren sind eine Verallgemeinerung von Zeigern und extrahieren von ihren Anforderungen auf eine Weise, die C++-Programm mit unterschiedlichen Strukturen der Daten in einer einheitlichen Art zulässig.Iteratoren dienen als Vermittler zwischen Containern und generischen Algorithmen auf.Anstatt die auf bestimmten Datentypen, werden Algorithmen definiert, um einen Bereich an auszuführen, der durch einen Typ Iterator angegeben wird.Eine Datenstruktur, die den Anforderungen des Iterators erfüllt ist, wird durch den Algorithmus bearbeitet werden.Es gibt fünf Typen oder Kategorien Iterator, jeder mit einem eigenen Satz von Anforderungen und resultierende Funktionen:
Ausgabe: vorwärts das Verschieben, Werte speichern jedoch möglicherweise abruft, sofern durch ostream und Einfügungsprogramm.
Eingabe: vorwärts das Verschieben, rufen Sie Werte jedoch möglicherweise speichert, sofern durch istream.
vorwärts: vorwärts das Verschieben, Werte speichern und abgerufen werden.
Bidirektional: das Vorwärts- und Rückwärtsnavigation Verschieben, Werte speichern und abrufen kann, sofern der Liste, Satz, Multiset, Zuordnung und Multimap.
Wahlfreier Zugriff: die Elemente, die in beliebiger Reihenfolge zugegriffen werden, Werte speichern und abrufen kann, sofern durch Vektor, Doppelschlange, Zeichenfolge und Array.
Iteratoren, die größere Anforderungen und so leistungsstarkeren Zugriff auf Elemente verfügen, werden anstelle der Iteratoren mit weniger Anforderungen verwendet werden.Wenn beispielsweise ein Vorwärtsiterator für aufgerufen wird, dann ein Iterator mit wahlfreier Zugriff können Sie stattdessen verwendet.
Funktionen
Inkrementiert einen Iterator durch eine angegebene Anzahl von Positionen. |
|
Erstellt einen Iterator, der Einsatzelemente an der umgekehrten eines bestimmten Containers kann. |
|
Ruft einen Iterator zum ersten Element eines angegebenen Container ab. |
|
Bestimmt die Anzahl der Inkrementen zwischen den Positionen, die von zwei Iteratoren behandelt werden. |
|
Ruft einen Iterator an das Element ab, das dem letzten Element im angegebenen Container folgt. |
|
Erstellt einen Iterator, der sich in Einsatzelemente eines bestimmten Containers kann. |
|
Ein Iteratoradapter, der ein neues Element einem Container an einem angegebenen Punkt der Einfügung hinzugefügt wird. |
|
Gibt einen Verschiebungsiterator zurück, der den bereitgestellten Iterator wie der gespeicherten niedriger Iterator enthält. |
|
Führt eine oft durch und gibt die neue Iteratorposition zurück. |
|
Führt in umgekehrter Reihenfolge ein oft durch und gibt die neue Iteratorposition zurück. |
Operatoren
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators nicht gleich dem Iteratorobjekt auf der rechten Seite ist. |
|
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators gleich dem Iteratorobjekt auf der rechten Seite ist. |
|
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators kleiner ist, als das Iteratorobjekt auf der rechten Seite. |
|
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators kleiner oder gleich dem Iteratorobjekt auf der rechten Seite ist. |
|
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators größer ist, als das Iteratorobjekt auf der rechten Seite. |
|
Tests, wenn das Iteratorobjekt auf der linken Seite des Operators größer oder gleich dem Iteratorobjekt auf der rechten Seite ist. |
|
Fügt einen Offset zu einem Iterator hinzu und gibt neue reverse_iterator zurück, das das eingefügte Element in der neuen Offsetposition behandelt. |
|
Subtrahiert einen Iterator von anderen und gibt den Unterschied zurück. |
Klassen
Die Vorlagenklasse beschreibt ein Ausgabeiteratorobjekt.Außerdem werden Elemente in einem Container auf Typ Container ein, den er durch das geschützte pointer-Objekt zugreift, das, er aufgerufenen Container speichert. |
|
Eine Klasse, die einen Rückgabetyp für eine iterator_category-Funktion bereitstellt, die einen bidirektionalen Iterator darstellt. |
|
Eine Klasse, die auf ein Array mit einem wahlfreien Zugriff zugreift, überprüfter Iterator. |
|
Eine Klasse, die einen Rückgabetyp für eine iterator_category-Funktion bereitstellt, die einen Vorwärtsiterator darstellt. |
|
Die Vorlagenklasse beschreibt ein Ausgabeiteratorobjekt.Außerdem werden Elemente in einem Container auf Typ Container ein, den er durch das geschützte pointer-Objekt zugreift, das, er aufgerufenen Container speichert. |
|
Eine Klasse, die einen Rückgabetyp für eine iterator_category-Funktion bereitstellt, die einen Eingabeiterator darstellt. |
|
Die Vorlagenklasse beschreibt ein Ausgabeiteratorobjekt.Außerdem werden Elemente in einem Container auf Typ Container ein, den er durch das geschützte pointer-Objekt zugreift, das, er aufgerufenen Container speichert.Er speichert auch kennwortgeschützt Iterator-Objekt, der Klasse Container::iterator, aufgerufen iter. |
|
Die Vorlagenklasse beschreibt ein Eingabeiteratorobjekt.Er extrahiert Objekte der Klasse Ty von auf einem Eingabestream, den er durch ein Objekt, das ihm gespeichert, vom Typ pointer zu basic_istream<Elem, Tr> zugreift. |
|
Die Vorlagenklasse beschreibt ein Eingabeiteratorobjekt.Außerdem werden Elemente der Klasse Elem in auf einen Ausgabestreampuffer ein, den er durch ein Objekt, das ihm gespeichert, vom Typ pointer zu basic_streambuf<Elem, Tr> zugreift. |
|
Die Vorlagenklasse wird als Basistyp für alle Iteratoren verwendet. |
|
Eine Vorlagenhilfsklasse, die wichtige Typen bereitstellt, die mit verschiedenen Iterator zugeordnet sind, gibt ein, sodass sie auf dieselbe Weise verwiesen werden können. |
|
Ein Objekt move_iterator speichert einen Iterator mit wahlfreier Zugriff des Typs RandomIterator.Es verhält sich wie ein Iterator mit wahlfreier Zugriff, außer, wenn dereferenziert wird.Das Ergebnis operator* wird implizit auf value_type&&: umgewandelt, um rvalue reference auszuführen. |
|
Die Vorlagenklasse beschreibt ein Ausgabeiteratorobjekt.Außerdem werden Objekte der Klasse Typ in auf einen Ausgabestream ein, den er durch ein Objekt, das ihm gespeichert, vom Typ pointer zu basic_ostream<Elem, Tr> zugreift. |
|
Die Vorlagenklasse beschreibt ein Ausgabeiteratorobjekt.Außerdem werden Elemente der Klasse Elem in auf einen Ausgabestreampuffer ein, den er durch ein Objekt, das ihm gespeichert, vom Typ pointer zu basic_streambuf<Elem, Tr> zugreift. |
|
Eine Klasse, die einen Rückgabetyp für iterator_category-Funktion bereitstellt, die einen Ausgabeiterator darstellt. |
|
Eine Klasse, die einen Rückgabetyp für iterator_category-Funktion bereitstellt, die einen Iterator mit wahlfreier Zugriff darstellt. |
|
Die Vorlagenklasse beschreibt ein Objekt, das wie ein Iterator mit wahlfreier Zugriff verhält, nur in umgekehrter Reihenfolge. |
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek