std::ostream_iterator<T,CharT,Traits>:: operator=

From cppreference.com
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
ostream_iterator & operator = ( const ostream_iterator & ) ;
(1)
ostream_iterator & operator = ( const T & value ) ;
(2)
1) Copy assignment operator. Assigns the contents of other
2) Inserts value into the associated stream, then inserts the delimiter, if one was specified at construction time.

If out_stream is a pointer to the associated std::basic_ostream and delim is the delimiter specified at the construction of this object, then the effect is equivalent to

* out_stream << value ;
if ( delim ! = 0 )
* out_stream << delim ;
return * this ;

Parameters

value - the object to insert

Return value

* this

Notes

T can be any class with a user-defined operator<< .

Prior to C++20, the existence of the copy assignment operator relied on the deprecated implicit generation .

Example

#include <iostream>
#include <iterator>
 
int main()
{
    std::ostream_iterator<int> i1(std::cout, ", ");
    *i1++ = 1; // usual form, used by standard algorithms
    *++i1 = 2;
    i1 = 3; // neither * nor ++ are necessary
    std::ostream_iterator<double> i2(std::cout);
    i2 = 3.14;
    std::cout << '\n';
}

Output:

1, 2, 3, 3.14