Bibliothèque C ++ - <iterator>
introduction
C'est un objet semblable à un pointeur qui peut être incrémenté avec ++, déréférencé avec * et comparé à un autre itérateur avec! =
Catégories
Catégorie | Propriétés | expressions valides | |||
---|---|---|---|---|---|
toutes catégories | constructible par copie , assignable par copie et destructible |
|
|||
Il peut être incrémenté |
|
||||
Accès aléatoire | Bidirectionnel | Vers l'avant | Contribution | Il prend en charge les comparaisons égalité / inégalité |
|
Il peut être déréférencé en tant que rvalue | *une a-> m |
||||
Production | Il peut être déréférencé en tant que lvalue (uniquement pour les types d'itérateur mutables ) |
* a = t * a ++ = t |
|||
constructible par défaut | X a; X() |
||||
Multi-pass: ni le déréférencement ni l'incrémentation n'affectent la déréférencabilité | { b = a; *a++; *b; } |
||||
Il peut être décrémenté | --une une-- *une-- |
||||
Il prend en charge les opérateurs arithmétiques + et - | a + n n + a un un B |
||||
Il prend en charge les comparaisons d'inégalités ( < , > , <= et > = ) entre les itérateurs | a <b a> b a <= b a> = b |
||||
Il prend en charge les opérations d'assignation composées + = et - = | a + = n a - = n |
||||
Il prend en charge l'opérateur de déréférence de décalage ( [] ) | un] |
Les fonctions
N ° Sr. | Fonctions et description |
---|---|
1 | avance Il fait avancer l'itérateur de n positions d'élément. |
2 | distance Il renvoie la distance entre les itérateurs. |
3 | commencer Il est utilisé pour commencer un itérateur. |
4 | fin Il est utilisé pour terminer un itérateur. |
5 | prev Il est utilisé pour obtenir l'itérateur vers l'élément précédent. |
6 | prochain Il est utilisé pour amener l'itérateur à l'élément suivant. |
Générateurs d'itérateur
N ° Sr. | Générateurs d'itérateur et description |
---|---|
1 | back_inserter Il construit un itérateur d'insertion arrière. |
2 | inserteur Il construit un itérateur d'insertion |
3 | make_move_iterator Il construit des itérateurs de déplacement. |
Des classes
N ° Sr. | Classes et description |
---|---|
1 | itérateur Il itère la classe de base. |
2 | iterator_traits C'est un trait d'itérateur. |
Itérateurs prédéfinis
N ° Sr. | Itérateurs et description prédéfinis |
---|---|
1 | reverse_iterator C'est un itérateur inversé. |
2 | move_iterator C'est un itérateur de mouvement. |
3 | back_insert_iterator C'est un itérateur d'insertion arrière. |
4 | front_insert_iterator C'est un itérateur d'insertion avant. |
5 | insert_iterator Il est utilisé pour insérer un itérateur. |
6 | istream_iterator C'est un itérateur de flux d'entrée. |
sept | ostream_iterator C'est un itérateur de flux de sortie. |
8 | istreambuf_iterator C'est un itérateur de tampon de flux d'entrée. |
sept | ostreambuf_iterator C'est un itérateur de tampon de flux de sortie. |
Balises de catégorie
N ° Sr. | Balises de catégorie et description |
---|---|
1 | input_iterator_tag Catégorie d'itérateur d'entrée. |
2 | output_iterator_tag catégorie d'itérateur de sortie. |
3 | forward_iterator_tag Catégorie d'itérateur en avant. |
4 | bidirectional_iterator_tag Catégorie d'itérateur bidirectionnel. |
5 | random_access_iterator_tag Catégorie d'itérateur à accès aléatoire. |