reverse_iterator – třída
Třída šablony je adaptér iterátoru popisující objekt zpětného iterátoru, který se chová jako obousměrný iterátor nebo iterátor s náhodným přístupem, pouze obráceně.Umožňuje zpětné procházení rozsahu.
template <class RandomIterator>
class reverse_iterator
Parametry
- RandomIterator
Typ představující iterátor, který má být adaptován tak, aby pracoval obráceně.
Poznámky
Existující kontejnery standardní knihovny šablon také definují typy reverse_iterator a const_reverse_iterator a mají členské funkce rbegin a rend, které vracejí obrácené iterátory.Tyto iterátory mají sémantiku přepisu.Adaptér reverse_iterator tuto funkci doplňuje, protože nabízí sémantiku vložení a lze jej také použít s toky.
Entity reverse_iterator, které vyžadují obousměrný iterátor, nesmějí volat žádné členské funkce operator+=, operator+, operator-=, operator- nebo operator[], které lze použít pouze s iterátory s náhodným přístupem.
Pokud je rozsah iterátoru [_First, _Last), kde hranatá závorka vlevo udává zahrnutí k _First a závorka vpravo udává zahrnutí prvků až po _Left , ale kromě samotného prvku _Left .Stejné prvky jsou zahrnuty v obrácené sekvenci [rev – _First, rev – _Left), takže pokud _Left je první za posledním prvkem v sekvenci, pak první prvek rev – _First v obrácené sekvenci ukazuje na *(_Left – 1 ).Identita, která spojuje všechny obrácené iterátory s jejich základním iterátorem, je:
&*(reverse_iterator ( i ) ) == &*( i – 1 ).
V praxi to znamená, že v obrácené sekvenci bude iterátor reverse_iterator ukazovat na prvek o jednu pozici za prvkem (vpravo), na který iterátor ukazoval v původní sekvenci.Pokud iterátor adresoval prvek 6 v sekvenci (2, 4, 6, 8), reverse_iterator bude adresovat prvek 4 v obrácené sekvenci (8, 6, 4, 2).
Konstruktory
Vytvoří výchozí reverse_iterator nebo reverse_iterator z podkladové iterace. |
Typedefs
Typ, který obsahuje rozdíl mezi dvěma reverse_iterator, které odkazují na prvky v rámci stejného kontejneru. |
|
Typ, který poskytuje základní iterátor pro reverse_iterator. |
|
Typ, který poskytuje ukazatel na prvek řešený třídou reverse_iterator. |
|
Typ, který poskytuje odkaz na prvek řešený třídou reverse_iterator. |
Členské funkce
Obnoví základní iterátor z reverse_iterator. |
Operátory
Vrátí prvek, na který odkazuje reverse_iterator. |
|
Přidá posun do iterátoru a vrátí nový reverse_iterator adresující vložený prvek na nové pozici posunu. |
|
Zvýší reverse_iterator na další prvek. |
|
Přidá zadaný posun z reverse_iterator. |
|
Odečte posun od reverse_iterator a vrátí reverse_iterator adresující prvek v posunuté pozici. |
|
Sníží reverse_iterator na předchozí prvek. |
|
Odečte zadaný posun od reverse_iterator. |
|
Vrací ukazatel na prvek odkazovaný reverse_iterator. |
|
Vrátí odkaz na posun prvku z prvku odkazovaného reverse_iterator o určený počet pozic. |
Požadavky
Hlavička: <iterator>
Obor názvů: std