Namespaces
Variants

std::experimental::ostream_joiner<DelimT,CharT,Traits>:: operator=

From cppreference.net
template < class T >
ostream_joiner & operator = ( const T & value ) ;
(1) (Library Fundamentals TS v2)
ostream_joiner & operator = ( const ostream_joiner & other ) = default ;
(2) (Library Fundamentals TS v2)
(implizit deklariert)
ostream_joiner & operator = ( ostream_joiner && other ) = default ;
(3) (Library Fundamentals TS v2)
(implizit deklariert)
1) Zuerst, wenn das private "erstes Element"-Flag false ist, füge das Trennzeichen delim in den Ausgabestream os ein, der mit diesem Iterator assoziiert ist, als ob durch os << delim ; .
Setzt dann bedingungslos das "erstes Element"-Flag auf false und fügt value in den Ausgabestream ein, als ob durch os << value ; .
Seien out_stream , delim , und first_element die privaten Stream-Zeiger, Trennzeichen und "erstes Element" Flag-Member jeweils. Dann ist diese Funktion äquivalent zu
if (!first_element)
    *out_stream << delim;
first_element = false;
*out_stream << value;
return *this;
2,3) Implizit deklarierter Kopier-/Verschiebungszuweisungsoperator, der die privaten Stream-Zeiger, Trennzeichen und "erstes Element"-Flag-Mitglieder kopiert/verschiebt und zuweist.

Parameter

value - das Objekt, das in den Stream geschrieben werden soll
other - das ostream_joiner Objekt, das diesem Objekt zugewiesen werden soll

Rückgabewert

* this .

Beispiel

#include <experimental/iterator>
#include <iostream>
int main()
{
    auto joiner = std::experimental::make_ostream_joiner(std::cout, ", ");
    joiner = "First";
    joiner = "do no harm.";  // prefixes with the delimiter
}

Ausgabe:

First, do no harm.