4.1 KiB
[ostreambuf.iterator]
24 Iterators library [iterators]
24.6 Stream iterators [stream.iterators]
24.6.5 Class template ostreambuf_iterator [ostreambuf.iterator]
24.6.5.1 General [ostreambuf.iterator.general]
The class template ostreambuf_iterator writes successive characters onto the output stream from which it was constructed.
namespace std {template<class charT, class traits = char_traits>class ostreambuf_iterator {public:using iterator_category = output_iterator_tag; using value_type = void; using difference_type = ptrdiff_t; using pointer = void; using reference = void; using char_type = charT; using traits_type = traits; using streambuf_type = basic_streambuf<charT,traits>; using ostream_type = basic_ostream<charT,traits>;
ostreambuf_iterator(ostream_type& s) noexcept; ostreambuf_iterator(streambuf_type* s) noexcept; ostreambuf_iterator& operator=(charT c);
ostreambuf_iterator& operator*(); ostreambuf_iterator& operator++(); ostreambuf_iterator& operator++(int); bool failed() const noexcept; private: streambuf_type* sbuf_; // exposition only};}
24.6.5.2 Constructors [ostreambuf.iter.cons]
ostreambuf_iterator(ostream_type& s) noexcept;
Preconditions: s.rdbuf() is not a null pointer.
Effects: Initializes sbuf_ with s.rdbuf().
ostreambuf_iterator(streambuf_type* s) noexcept;
Preconditions: s is not a null pointer.
Effects: Initializes sbuf_ with s.
24.6.5.3 Operations [ostreambuf.iter.ops]
ostreambuf_iterator& operator=(charT c);
Effects: Iffailed() yieldsfalse, callssbuf_->sputc(c); otherwise has no effect.
Returns: *this.
ostreambuf_iterator& operator*();
Returns: *this.
ostreambuf_iterator& operator++(); ostreambuf_iterator& operator++(int);
Returns: *this.
bool failed() const noexcept;
Returns: true if in any prior use of memberoperator=, the call tosbuf_->sputc() returnedtraits::eof(); orfalse otherwise.