reverse_iterator Class
Die Vorlagenklasse ist ein Iterator-Adapter, der ein reverse-Iterator-Objekt beschreibt, die verhält sich wie ein Iterator random-Access- oder bidirektionalen nur in umgekehrter Reihenfolge.Es ermöglicht das rückwärts durchlaufen eines Bereichs.
template <class RandomIterator>
class reverse_iterator
Parameter
- RandomIterator
Der Typ, der den Iterator für den Betrieb in umgekehrter Reihenfolge angepasst werden, darstellt.
Hinweise
Auch vorhandene Standard Template Library-Container definieren reverse_iterator und const_reverse_iterator Typen und Member-Funktionen haben rbegin und rend , die reverse-Iteratoren zurückgeben.Diese Iteratoren haben Semantik überschreiben.Die reverse_iterator Adapter ergänzt diese Funktionalität, wie Angebote Semantik einfügen und auch mit Streams verwendet werden können.
Die reverse_iterators, die erfordern eine bidirektionale Iterator muss keinem der Mitgliedstaaten Funktionen aufrufen operator+=, operator+, operator-=, operator-, oder operator[], die nur mit random-Access-Iteratoren verwendet werden kann.
Wenn der Bereich eines Iterators [_First, _Last), wobei die eckige Klammer auf der linken Seite die Aufnahme auf _ angibtersten und der Klammern auf der rechten Seite zeigt die Einbeziehung von Elementen bis zu _Links , aber ohne _Links selbst.Sind die gleichen Elemente in umgekehrter Reihenfolge enthalten [Rev – _First, Rev -_Links) so, dass wenn _Links ist das One-Vergangenheit die End-Element in einer Sequenz dann das erste Element Rev – _ersten in der umgekehrten Sequenz auf * (_Links – 1).Die Identität, die sich alle reverse Iteratoren auf ihre zugrunde liegenden Iteratoren bezieht ist:
&*(reverse_iterator ( i ) ) == &*( i – 1 ).
In der Praxis dieser bedeutet, dass in die umgekehrte Reverse_iterator Reihenfolge verweist auf das Element eine Position hinter (nach rechts von) das Element, das der Iterator in der ursprünglichen Reihenfolge verwies.Also, wenn ein Iterator das Element 6 in der Sequenz (2, 4, 6, 8) behandelt die reverse_iterator wird das Element 4 in die umgekehrte Reihenfolge (8, 6, 4, 2).
Konstruktoren
Erstellt eine standardmäßige reverse_iterator oder ein reverse_iterator aus einem zugrunde liegenden Iterator. |
Typedefs
Ein Typ, der die Differenz zwischen zwei reverse_iterators verweisen auf Elemente innerhalb desselben Containers. |
|
Ein Typ, der den zugrunde liegenden Iterator für eine reverse_iterator. |
|
Ein Typ, der einen Zeiger auf ein Element durch ein reverse_iterator. |
|
Ein Typ, der einen Verweis auf ein Element durch ein reverse_iterator. |
Member-Funktionen
Stellt den zugrunde liegenden Iterator aus seiner reverse_iterator. |
Operatoren
Gibt das Element zurück, das ein reverse_iterator Adressen. |
|
Fügt einen Offset auf einen Iterator und gibt die neue reverse_iterator das eingefügte Element an die neue Offsetposition Adressierung. |
|
Erhöht die reverse_iterator auf das nächste Element. |
|
Fügt einen angegebenen Offset aus einer reverse_iterator. |
|
Subtrahiert einen Offset von einer reverse_iterator und gibt ein reverse_iterator das Element an die Offsetposition Adressierung. |
|
Verringert die reverse_iterator in das vorherige Element. |
|
Subtrahiert einen angegebenen Offset aus einer reverse_iterator. |
|
Gibt einen Zeiger auf das Element durch die reverse_iterator. |
|
Gibt einen Verweis auf ein Element-Offset aus dem Element durch ein reverse_iterator einer angegebenen Anzahl von Positionen. |
Anforderungen
Header: <iterator>
Namespace: std
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek