Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
 
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, falls das interne "erstes Element"-Flag false ist, fügen Sie das Trennzeichen delim in den Ausgabestrom os ein, der diesem Iterator zugeordnet ist, als ob durch os << delim;.
Setzt dann bedingungslos das "erstes Element"-Flag auf false und fügen Sie value in den Ausgabestrom ein, als ob durch os << value;.
Lassen Sie out_stream, delim und first_element die privaten Stream-Zeiger-, Trennzeichen- und "erstes Element"-Flag-Member bezeichnen. 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-/Move-Zuweisungsoperator, der die privaten Stream-Zeiger-, Trennzeichen- und "erstes Element"-Flag-Member kopiert/verschiebtt.

[bearbeiten] Parameter

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

[bearbeiten] Rückgabewert

*this.

[bearbeiten] 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.