ostream_iterator
writes (using
operator<<)
successive elements onto the output stream from which it was constructed
. If it was constructed with
charT*
as a constructor argument, this string, called a
delimiter string,
is written to the stream after every
T
is written
. It is not possible to get a value out of the output iterator
. Its only use is as an output iterator in situations like
while (first != last)
*result++ = *first++;
ostream_iterator
is defined as:
namespace std {
template <class T, class charT = char, class traits = char_traits<charT>>
class ostream_iterator {
public:
using iterator_category = output_iterator_tag;
using value_type = void;
using difference_type = void;
using pointer = void;
using reference = void;
using char_type = charT;
using traits_type = traits;
using ostream_type = basic_ostream<charT,traits>;
ostream_iterator(ostream_type& s);
ostream_iterator(ostream_type& s, const charT* delimiter);
ostream_iterator(const ostream_iterator& x);
~ostream_iterator();
ostream_iterator& operator=(const T& value);
ostream_iterator& operator*();
ostream_iterator& operator++();
ostream_iterator& operator++(int);
private:
basic_ostream<charT,traits>* out_stream; const charT* delim; };
}
ostream_iterator(ostream_type& s);
Effects:
Initializes
out_stream with
addressof(s) and
delim with null
. ostream_iterator(ostream_type& s, const charT* delimiter);
Effects:
Initializes
out_stream with
addressof(s) and
delim with
delimiter. ostream_iterator(const ostream_iterator& x);
Effects:
Constructs a copy of
x. ~ostream_iterator();
Effects:
The iterator is destroyed
. ostream_iterator& operator=(const T& value);
Effects:
As if by:
*out_stream << value;
if (delim != 0)
*out_stream << delim;
return *this;
ostream_iterator& operator*();
ostream_iterator& operator++();
ostream_iterator& operator++(int);