| 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] |