Bibliothèque d'itérateur C ++ - bidirectional_iterator_tag
La description
Il sert à identifier la catégorie d'un itérateur comme un itérateur bidirectionnel et un itérateur bidirectionnel prend en charge au moins l'une des opérations suivantes.
C ++ 98
propriété | expressions valides |
---|---|
C'est un constructeur par défaut, constructible par copie, assignable par copie et destructible |
|
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). |
|
Il peut être déréférencé en tant que rvalue (s'il est dans un état déréférencable ). |
|
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 après avoir été tous deux augmentés. |
|
Il peut être décrémenté (si une valeur d'itérateur déréférençable la précède). |
--une une-- *une-- |
C ++ 11
propriété | expressions valides |
---|---|
C'est un constructeur par défaut, constructible par copie, assignable par copie et destructible |
|
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). |
|
Il peut être déréférencé en tant que rvalue (s'il est dans un état déréférencable ). |
|
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 après avoir été tous deux augmentés. |
|
Il peut être décrémenté (si une valeur d'itérateur déréférençable la précède). |
--une une-- *une-- |
Les valeurs L sont permutables . | swap(a,b) |
Déclaration
Voici la déclaration pour std :: bidirectional_iterator_tag.
C ++ 11
struct bidirectional_iterator_tag {}