Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Defined in header <iterator> | ||
template<class CharT,class Traits=std::char_traits<CharT>> class ostreambuf_iterator | (until C++17) | |
template<class CharT,class Traits=std::char_traits<CharT>> class ostreambuf_iterator; | (since C++17) | |
std::ostreambuf_iterator
is a single-passLegacyOutputIterator that writes successive characters into thestd::basic_streambuf object for which it was constructed. The actual write operation is performed when the iterator (whether dereferenced or not) is assigned to. Incrementing thestd::ostreambuf_iterator
is a no-op.
In a typical implementation, the only data members ofstd::ostreambuf_iterator
are a pointer to the associatedstd::basic_streambuf
and a boolean flag indicating if the end of file condition has been reached.
Contents |
Member type | 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> |
Member types | (until C++17) |
constructs a newostreambuf_iterator (public member function)[edit] | |
(destructor) (implicitly declared) | destructs anostreambuf_iterator (public member function)[edit] |
writes a character to the associated output sequence (public member function)[edit] | |
no-op (public member function)[edit] | |
no-op (public member function)[edit] | |
tests if output failed (public member function)[edit] |
#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));}
Output:
This is an example
input iterator that reads fromstd::basic_streambuf (class template)[edit] | |
output iterator that writes tostd::basic_ostream (class template)[edit] |