Namespaces
Variants

std::basic_osyncstream<CharT,Traits,Allocator>:: operator=

From cppreference.net
basic_osyncstream & operator = ( std:: basic_osyncstream && other ) ;
(desde C++20)

Asigna por movimiento un flujo de salida sincronizado:

Asigna por movimiento el std::basic_syncbuf encapsulado desde el miembro correspondiente de other (después de esta asignación por movimiento, other. get_wrapped ( ) devuelve un puntero nulo y la destrucción de other no produce salida; cualquier salida almacenada en búfer pendiente será emitida) y asigna por movimiento la base std::basic_ostream (esto intercambia todas las variables de estado del flujo excepto rdbuf entre * this y other )

Contenidos

Parámetros

otro - otro flujo de salida sincronizado del cual mover

Valor de retorno

* this

Ejemplo

#include <iomanip>
#include <iostream>
#include <sstream>
#include <syncstream>
#include <utility>
int main()
{
    std::osyncstream out(std::cout);
    out << "test\n";
    std::ostringstream str_out;
    std::osyncstream{str_out} = std::move(out); // Nota: out se emite aquí
    std::cout << "str_out = " << std::quoted(str_out.view()) << '\n';
}

Salida:

test
str_out = ""

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3867 C++20 el operador de asignación de movimiento era noexcept , pero
std::basic_syncbuf 's operador de asignación de movimiento no lo es
eliminado noexcept

Véase también

construye un objeto basic_osyncstream
(función miembro pública)
destruye el basic_osyncstream y emite su buffer interno
(función miembro pública)
llama a emit() en el basic_syncbuf subyacente para transmitir sus datos internos al destino final
(función miembro pública)