Partager via


reverse_iterator Class

La classe de modèle est un adaptateur itérateur qui décrit un objet itérateur inverse qui se comporte comme un itérateur d'accès aléatoire ou bidirectionnel, uniquement dans le sens inverse.Il permet la traversée ascendante d'une plage.

template <class RandomIterator>
class reverse_iterator

Paramètres

  • RandomIterator
    Le type qui représente l'itérateur pour être adapté pour fonctionner dans l'ordre inverse.

Notes

Conteneurs Standard Template Library existantes définissent également reverse_iterator et const_reverse_iterator types et ont des fonctions membres rbegin et rend qui renvoient des itérateurs inversées.Les itérateurs ont remplacer sémantique.Le reverse_iterator adaptateur complète cette fonctionnalité comme offres insérer sémantique et peuvent également être utilisés avec des flux.

Le reverse_iterators qui nécessitent un itérateur bidirectionnel doivent appellent aucune du membre fonctions operator+=, operator+, operator-=, operator-, ou operator[], qui est utilisable uniquement avec les itérateurs à accès aléatoire.

Si la plage d'un itérateur est [_First, _Last), où le crochet gauche indique l'inclusion sur _premier et la parenthèse de droite indique l'inclusion des éléments jusqu'à _gauche à l'exclusion de _gauche lui-même.Les mêmes éléments sont inclus dans l'ordre inversé [rev – _First, rev – _gauche) afin que si _gauche est l'élément one-passé-the-end dans une séquence, puis le premier élément rev – _premier dans les points de séquence réfléchi à * (_gauche – 1).L'identité qui le concerne tous les itérateurs inverses leurs itérateurs sous-jacent est :

&*(reverse_iterator ( i ) ) == &*( i – 1 ).

Dans la pratique, cela signifie que, dans le texte inversé, le reverse_iterator de séquence fait référence à l'élément une position au-delà (à droite) l'élément de l'itérateur avait visée à la séquence d'origine.Par conséquent, si un itérateur adressé l'élément 6 de la séquence (2, 4, 6, 8), puis la reverse_iterator s'adresse à l'élément 4 dans l'ordre inversé (8, 6, 4, 2).

6x256702.collapse_all(fr-fr,VS.110).gifConstructeurs

reverse_iterator

Construit une valeur par défaut reverse_iterator ou un reverse_iterator à partir d'un itérateur sous-jacent.

6x256702.collapse_all(fr-fr,VS.110).gifTypedef

difference_type

Un type qui fournit la différence entre deux reverse_iterators faisant référence à des éléments dans le même conteneur.

iterator_type

Un type qui fournit l'itérateur sous-jacent pour un reverse_iterator.

pointer

Un type qui fournit un pointeur vers un élément adressé par un reverse_iterator.

Référence

Un type qui fournit une référence à un élément adressé par un reverse_iterator.

6x256702.collapse_all(fr-fr,VS.110).gifFonctions membres

base

Récupère l'itérateur sous-jacent à partir de sa reverse_iterator.

6x256702.collapse_all(fr-fr,VS.110).gifOpérateurs

operator*

Retourne l'élément qui un reverse_iterator adresses.

opérateur +

Ajoute un offset à un itérateur et renvoie la nouvelle reverse_iterator l'élément inséré à la nouvelle position de décalage d'adressage.

operator++

Incrémente le reverse_iterator à l'élément suivant.

opérateur +=

Ajoute un offset spécifié à partir d'un reverse_iterator.

opérateur-

Soustrait un offset à partir d'un reverse_iterator et retourne un reverse_iterator l'adressage de l'élément à la position d'offset.

opérateur--

Décrémente le reverse_iterator à l'élément précédent.

opérateur =

Soustrait un offset spécifié à partir d'un reverse_iterator.

operator->

Retourne un pointeur vers l'élément adressé par la reverse_iterator.

operator[]

Renvoie une référence à un offset de l'élément de l'élément adressé par un reverse_iterator par un nombre spécifié de positions.

Configuration requise

En-tête : <iterator>

Espace de noms : std

Voir aussi

Référence

Sécurité des threads dans la bibliothèque C++ standard

Modèles Standard

Autres ressources

membres de reverse_iterator

<iterator> membres