std::output_iterator
| Definiert in Header <iterator> |
||
| template< class I, class T > concept output_iterator = |
(seit C++20) | |
Das Konzept output_iterator ist eine Verfeinerung von input_or_output_iterator und fügt die Anforderung hinzu, dass es zum Schreiben von Werten des durch T kodierten Typs und der Wertkategorie (über indirectly_writable) verwendet werden kann. equality_comparable ist nicht erforderlich.
Inhalt |
[bearbeiten] Semantische Anforderungen
Sei E ein Ausdruck, sodass decltype((E)) T ist, und i ein dereferenzierbares Objekt vom Typ I. std::output_iterator<I, T> wird nur dann modelliert, wenn alle von ihm umfassten Konzepte modelliert werden und *i++ = E; Effekte hat, die äquivalent zu *i = E; ++i; sind.
[bearbeiten] Gleichheitserhaltung
Ausdrücke, die in requires-Ausdrücken der Standardbibliothekskonzepte deklariert sind, müssen gleichheitserhaltend sein (sofern nicht anders angegeben).
[bearbeiten] Anmerkungen
Im Gegensatz zu den LegacyOutputIterator-Anforderungen erfordert das Konzept output_iterator nicht, dass das Iterator-Kategorie-Tag definiert ist.
Algorithmen für Ausgabe-Iteratoren sollten Einpass-fähig sein.
[bearbeiten] Siehe auch
| (C++20) |
spezifiziert, dass Objekte eines Typs inkrementiert und dereferenziert werden können (Konzept) |