std::ostreambuf_iterator
| Definiert in Header <iterator>
|
||
template< class CharT, class Traits = std::char_traits<CharT> >
class ostreambuf_iterator
: public std::iterator<std::output_iterator_tag, void, void, void, void>
|
(bis C++17) | |
template< class CharT, class Traits = std::char_traits<CharT> >
class ostreambuf_iterator;
|
(seit C++17) | |
std::ostreambuf_iteratorist ein Single-Pass-LegacyOutputIterator, der aufeinanderfolgende Zeichen in das std::basic_streambuf-Objekt schreibt, für das er konstruiert wurde. Die eigentliche Schreiboperation wird ausgeführt, wenn dem Iterator (ob dereferenziert oder nicht) zugewiesen wird. Das Inkrementieren des std::ostreambuf_iterator ist eine No-operation.
In einer typischen Implementierung sind die einzigen Datenmember von std::ostreambuf_iterator ein Zeiger auf den zugehörigen std::basic_streambuf und ein boolesches Flag, das angibt, ob die Dateiende-Bedingung erreicht wurde.
Mitgliedertypen
| Mitgliedertyp | Definition | ||||
iterator_category
|
std:: output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
char_type
|
CharT
|
||||
traits_type
|
Traits
|
||||
streambuf_type
|
std:: basic_streambuf < CharT, Traits > | ||||
ostream_type
|
std:: basic_ostream < CharT, Traits > |
|
Die Member-Typen
|
(bis C++17) |
Memberfunktionen
konstruiert einen neuen
ostreambuf_iterator
(öffentliche Elementfunktion) |
|
|
(Destruktor)
(implizit deklariert)
|
zerstört einen
ostreambuf_iterator
(öffentliche Elementfunktion) |
|
schreibt ein Zeichen in die assoziierte Ausgabesequenz
(öffentliche Elementfunktion) |
|
|
No-Op
(öffentliche Elementfunktion) |
|
|
No-Op
(öffentliche Elementfunktion) |
|
|
prüft, ob die Ausgabe fehlgeschlagen ist
(öffentliche Elementfunktion) |
Beispiel
#include <algorithm> #include <iostream> #include <iterator> #include <string> int main() { std::string s = "This is an example\n"; std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout)); }
Ausgabe:
This is an example
Siehe auch
|
Eingabe-Iterator, der von
std::basic_streambuf
liest
(Klassentemplate) |
|
|
Ausgabe-Iterator, der in
std::basic_ostream
schreibt
(Klassentemplate) |