std:: output_iterator
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<iterator>
|
||
|
template
<
class
I,
class
T
>
concept output_iterator
=
|
(seit C++20) | |
Das
output_iterator
-Konzept ist eine Verfeinerung von
input_or_output_iterator
, die die Anforderung hinzufügt, dass es zum Schreiben von Werten des Typs und der Wertkategorie, die durch
T
kodiert sind, verwendet werden kann (über
indirectly_writable
).
equality_comparable
ist nicht erforderlich.
Inhaltsverzeichnis |
Semantische Anforderungen
Sei
E
ein Ausdruck, sodass
decltype
(
(
E
)
)
gleich
T
ist, und
i
sei ein dereferenzierbares Objekt vom Typ
I
.
std
::
output_iterator
<
I, T
>
wird nur dann modelliert, wenn alle davon subsumierten Konzepte modelliert werden, und
*
i
++
=
E
;
hat Effekte, die äquivalent sind zu
*
i
=
E
;
++
i
;
.
Gleichheitserhaltung
Ausdrücke, die in requires expressions der Standardbibliothek-Konzepte deklariert werden, müssen equality-preserving sein (sofern nicht anders angegeben).
Hinweise
Im Gegensatz zu den
LegacyOutputIterator
-Anforderungen erfordert das
output_iterator
-Konzept nicht, dass der Iterator-Kategorie-Tag definiert wird.
Algorithmen auf Ausgabeiteratoren sollten einzelndurchlaufend sein.
Siehe auch
|
(C++20)
|
spezifiziert, dass Objekte eines Typs inkrementiert und dereferenziert werden können
(Konzept) |