std:: output_iterator
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<iterator>
|
||
|
template
<
class
I,
class
T
>
concept output_iterator
=
|
(depuis C++20) | |
Le concept
output_iterator
est un raffinement de
input_or_output_iterator
, ajoutant l'exigence qu'il puisse être utilisé pour écrire des valeurs de type et de catégorie de valeur encodées par
T
(via
indirectly_writable
).
equality_comparable
n'est pas requis.
Table des matières |
Exigences sémantiques
Soit
E
une expression telle que
decltype
(
(
E
)
)
soit
T
, et
i
un objet déréférençable de type
I
.
std
::
output_iterator
<
I, T
>
est modélisé seulement si tous les concepts qu'il subsume sont modélisés, et
*
i
++
=
E
;
a des effets équivalents à
*
i
=
E
;
++
i
;
.
Préservation de l'égalité
Les expressions déclarées dans les requires expressions des concepts de la bibliothèque standard doivent être equality-preserving (sauf indication contraire).
Notes
Contrairement aux
exigences LegacyOutputIterator
, le concept
output_iterator
n'exige pas que l'étiquette de catégorie d'itérateur soit définie.
Les algorithmes sur les itérateurs de sortie doivent être à passage unique.
Voir aussi
|
(C++20)
|
spécifie que les objets d'un type peuvent être incrémentés et déréférencés
(concept) |