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).
Constructeurs
Construit une valeur par défaut reverse_iterator ou un reverse_iterator à partir d'un itérateur sous-jacent. |
Typedef
Un type qui fournit la différence entre deux reverse_iterators faisant référence à des éléments dans le même conteneur. |
|
Un type qui fournit l'itérateur sous-jacent pour un reverse_iterator. |
|
Un type qui fournit un pointeur vers un élément adressé par un reverse_iterator. |
|
Un type qui fournit une référence à un élément adressé par un reverse_iterator. |
Fonctions membres
Récupère l'itérateur sous-jacent à partir de sa reverse_iterator. |
Opérateurs
Retourne l'élément qui un reverse_iterator adresses. |
|
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. |
|
Incrémente le reverse_iterator à l'élément suivant. |
|
Ajoute un offset spécifié à partir d'un reverse_iterator. |
|
Soustrait un offset à partir d'un reverse_iterator et retourne un reverse_iterator l'adressage de l'élément à la position d'offset. |
|
Décrémente le reverse_iterator à l'élément précédent. |
|
Soustrait un offset spécifié à partir d'un reverse_iterator. |
|
Retourne un pointeur vers l'élément adressé par la reverse_iterator. |
|
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