<iterator>

Définit les primitives itérateur, les itérateurs prédéfinis et les itérateurs de flux, ainsi que plusieurs modèles de prise en charge.Les itérateurs prédéfinis incluent les adaptateurs d'insertion et de inverse.Il existe trois classes d'adaptateurs d'itérateur d'insertion : avant, arrière, et général.Ils fournissent la sémantique d'insertion au lieu de la sémantique de remplacer que les itérateurs de fonction membre de conteneur fournissent.

#include <iterator>

Notes

Les itérateurs sont une généralisation des pointeurs, abrégeant de leurs spécifications d'une façon qui permet au programme C++ pour travailler avec des structures de données de façon uniforme.Les itérateurs agissent comme intermédiaires entre les conteneurs et des algorithmes de générique.Au lieu de l'opération sur les types de données spécifiques, les algorithmes sont définis pour traiter un intervalle spécifié par un type d'itérateur.Une structure de données qui répond aux exigences de l'itérateur peut ensuite être opérée en fonction de l'algorithme.Il contient cinq types ou catégories d'itérateur, de chacun avec son propre ensemble de spécifications et de fonctionnalité résultante :

  • Sortie : déplacer vers l'avant, peut stocker mais pas récupérer des valeurs, si l'ostream et l'outil d'insertion.

  • Entrée : déplacer vers l'avant, peut récupérer mais pas stocker des valeurs, si l'istream.

  • En avant : déplacer vers l'avant, peut stocker et récupérer des valeurs.

  • Bidirectionnel : déplacer en avant et en arrière, peut stocker et récupérer des valeurs, si par la liste, le positionnement, le multiensemble, le mappage, et le mappage multiple.

  • Accès aléatoire : les éléments accessibles dans n'importe quel ordre, peuvent stocker et récupérer des valeurs, si par le vecteur, le deque, la chaîne, et le tableau.

Les itérateurs qui ont des spécifications supérieures et accès est plus puissant aux éléments peuvent être utilisés à la place des itérateurs avec moins de spécifications.Par exemple, si un itérateur vers l'avant l'appel de, puis un itérateurs d'accès aléatoire est utilisé à la place.

k3tf6509.collapse_all(fr-fr,VS.110).gifFonctions

avance

Incrémente un itérateur par un nombre spécifié de caractères.

back_inserter

Crée un itérateur qui peut insérer des éléments à l'arrière-plan d'un conteneur spécifié.

begin

Récupère un itérateur au premier élément dans un conteneur spécifié.

distance

Détermine le nombre d'index entre les positions adressées par deux itérateurs.

end

Récupère un itérateur à l'élément qui suit le dernier élément dans le conteneur spécifié.

front_inserter

Crée un itérateur qui peut insérer des éléments vers l'avant d'un conteneur spécifié.

outil d'insertion

Un adaptateur itérateur qui ajoute un nouvel élément à un conteneur à un point spécifié d'implémentation.

make_move_iterator

Retourne un itérateur de mouvements contenant l'itérateur fourni comme son itérateur de base stocké.

ensuite

Itère un nombre de fois spécifié et retourne la nouvelle position d'itérateur.

prev

Itère arrière du développement un nombre de fois spécifié et retourne la nouvelle position d'itérateur.

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

opérateur ! =

Teste si l'objet itérateurs sur le côté gauche de l'opérateur n'est pas égal à l'objet itérateur côté droit.

operator==

Teste si l'objet itérateurs sur le côté gauche de l'opérateur est égal à l'objet itérateur côté droit.

operator<

Teste si l'objet itérateurs sur le côté gauche de l'opérateur est moins que l'objet itérateur côté droit.

operator<=

Teste si l'objet itérateurs sur le côté gauche de l'opérateur est inférieure ou égale à l'objet itérateur côté droit.

operator>

Teste si l'objet itérateurs sur le côté gauche de l'opérateur supérieur à l'objet itérateur côté droit.

operator>=

Teste si l'objet itérateurs sur le côté gauche de l'opérateur est supérieur ou égal à l'objet itérateur côté droit.

operator+

Ajoute un offset à un itérateur et retourne un nouvel reverse_iterator adressant l'élément inséré au nouveau décalage de l'offset.

opérateur

Soustrait un itérateur des autres et retourne la différence.

k3tf6509.collapse_all(fr-fr,VS.110).gifClasses

back_insert_iterator

La classe de modèle décrit un objet itérateur de sortie.Il insère des éléments dans un conteneur de type Conteneur, auquel il accède via l'objet protégé de pointer qu'il stocke le conteneur appelé.

bidirectional_iterator_tag

Une classe qui fournit un type de retour d'une fonction d' iterator_category qui représente un itérateur bidirectionnel.

checked_array_iterator

Une classe qui accède à un tableau à l'aide d'un accès aléatoire, itérateur vérifié.

forward_iterator_tag

Une classe qui fournit un type de retour d'une fonction d' iterator_category qui représente un itérateur vers l'avant.

front_insert_iterator

La classe de modèle décrit un objet itérateur de sortie.Il insère des éléments dans un conteneur de type Conteneur, auquel il accède via l'objet protégé de pointer qu'il stocke le conteneur appelé.

input_iterator_tag

Une classe qui fournit un type de retour d'une fonction d' iterator_category qui représente un itérateur d'entrée.

insert_iterator

La classe de modèle décrit un objet itérateur de sortie.Il insère des éléments dans un conteneur de type Conteneur, auquel il accède via l'objet protégé de pointer qu'il stocke le conteneur appelé.Il enregistre également l'objet itérateur protégé, de la classe Container::iterator, appelé iter.

istream_iterator

La classe de modèle décrit un objet d'itérateur d'entrée.Il récupère les objets de classe Ty d'un flux d'entrée, auquel il accède via un objet qu'il stocke, du pointeur de type à basic_istream<Elem, tr>.

istreambuf_iterator

La classe de modèle décrit un objet d'itérateur d'entrée.Il insère des éléments de classe Elem dans une mémoire tampon de flux de sortie, à laquelle il accède via un objet qu'il stocke, du type pointer à basic_streambuf<Elem, tr>.

itérateur

La classe de modèle est utilisé comme type de base pour tous les itérateurs.

iterator_traits

Une classe d'assistance de modèle fournissant les types critiques associés à l'itérateur différents types afin qu'ils puissent être mentionnés de la même façon.

move_iterator

Un objet d' move_iterator enregistre un itérateurs d'accès aléatoire de type RandomIterator.Il se comporte comme un itérateurs d'accès aléatoire, à moins qu'une fois déréférencé.Le résultat d' operator* est casté implicitement à value_type&&: pour ce rvalue reference.

ostream_iterator

La classe de modèle décrit un objet itérateur de sortie.Il insère des objets de classe Type dans un flux de sortie, auquel il accède via un objet qu'il stocke, du type pointer à basic_ostream<Elem, tr>.

classe d'ostreambuf_iterator

La classe de modèle décrit un objet itérateur de sortie.Il insère des éléments de classe Elem dans une mémoire tampon de flux de sortie, à laquelle il accède via un objet qu'il stocke, du pointeur de type à basic_streambuf<Elem, tr>.

output_iterator_tag

Une classe qui fournit un type de retour de la fonction d' iterator_category qui représente un itérateur de sortie.

random_access_iterator_tag

Une classe qui fournit un type de retour de la fonction d' iterator_category qui représente un itérateurs d'accès aléatoire.

reverse_iterator

La classe de modèle décrit un objet qui se comporte comme un itérateurs d'accès aléatoire, seul du développement arrière.

Voir aussi

Référence

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

Modèles Standard

Autres ressources

Fichiers d'en-tête