Bibliothèque d'itérateur C ++ - forward_iterator_tag

La description

C'est un itérateur qui peut être utilisé pour accéder à la séquence d'éléments dans une plage dans le sens qui va de son début vers sa fin.

C ++ 98

propriété expressions valides
C'est un constructeur par défaut, constructible par copie, assignable par copie et destructible

X a;

X b(a);

b = a;

Il peut être comparé pour l'équivalence en utilisant les opérateurs d'égalité / inégalité

(significatif lorsque les deux valeurs d'itérateur itèrent sur la même séquence sous-jacente).

a == b

a != b

Il peut être déréférencé en tant que rvalue (s'il est dans un état déréférencable ).

*a

a->m

Pour les itérateurs mutables ( itérateurs non constants ):

Peut être déréférencé en tant que lvalue (si dans un état déréférencable ).

*a = t

Il peut être incrémenté (s'il est dans un état déréférençable ).

Le résultat est soit également déréférencable, soit un itérateur au-delà de la fin .

Deux itérateurs qui comparent égaux continuent de comparer égaux lorsque les deux sont augmentés.

++a

a++

*a++

C ++ 11

propriété expressions valides
C'est un constructeur par défaut, constructible par copie, assignable par copie et destructible

X a;

X b(a);

b = a;

Il peut être comparé pour l'équivalence en utilisant les opérateurs d'égalité / inégalité

(significatif lorsque les deux valeurs d'itérateur itèrent sur la même séquence sous-jacente).

a == b

a != b

Il peut être déréférencé en tant que rvalue (s'il est dans un état déréférencable ).

*a

a->m

Pour les itérateurs mutables ( itérateurs non constants ):

Peut être déréférencé en tant que lvalue (si dans un état déréférencable ).

*a = t

Il peut être incrémenté (s'il est dans un état déréférençable ).

Le résultat est soit également déréférencable, soit un itérateur au-delà de la fin .

Deux itérateurs qui comparent égaux continuent de comparer égaux lorsque les deux sont augmentés.

++a

a++

*a++

Les valeurs L sont permutables . swap(a,b)

Déclaration

Voici la déclaration pour std :: forward_iterator_tag.

C ++ 11

struct forward_iterator_tag {};