std::experimental::ostream_joiner<DelimT,CharT,Traits>:: operator=
From cppreference.net
<
cpp
|
experimental
|
ostream joiner
|
template
<
class
T
>
ostream_joiner & operator = ( const T & value ) ; |
(1) | (biblioteca fundamentals TS v2) |
|
ostream_joiner
&
operator
=
(
const
ostream_joiner
&
other
)
=
default
;
|
(2) |
(biblioteca fundamentals TS v2)
(declarado implícitamente) |
|
ostream_joiner
&
operator
=
(
ostream_joiner
&&
other
)
=
default
;
|
(3) |
(biblioteca fundamentals TS v2)
(declarado implícitamente) |
1)
Primero, si la bandera privada "primer elemento" es
false
, inserta el delimitador
delim
en el flujo de salida
os
asociado con este iterador como si fuera mediante
os
<<
delim
;
.
Luego, establece incondicionalmente la bandera de "primer elemento" a
false
, e inserta
value
en el flujo de salida como si fuera mediante
os
<<
value
;
.
Sea
out_stream
,
delim
, y
first_element
los miembros privados de puntero de flujo, delimitador y bandera de "primer elemento" respectivamente. Entonces esta función es equivalente a
if (!first_element) *out_stream << delim; first_element = false; *out_stream << value; return *this;
2,3)
Operador de asignación de copia/movimiento declarado implícitamente que copia/mueve asigna los miembros privados del puntero de flujo, delimitador y bandera de "primer elemento".
Parámetros
| value | - | el objeto a ser escrito en el flujo |
| other | - |
el objeto
ostream_joiner
a ser asignado a este objeto
|
Valor de retorno
* this .
Ejemplo
Ejecutar este código
#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 }
Salida:
First, do no harm.