Namespaces
Variants

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

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

Verschiebt einen synchronisierten Ausgabestream per Zuweisung:

Verschiebt den umschlossenen std::basic_syncbuf vom entsprechenden Member von other (nach dieser Verschiebezuweisung gibt other. get_wrapped ( ) einen Nullzeiger zurück und die Zerstörung von other erzeugt keine Ausgabe; jegliche gepufferte Ausgabe wird ausgegeben) und verschiebt die Basis std::basic_ostream (dies tauscht alle Stream-Zustandsvariablen außer rdbuf zwischen * this und other )

Inhaltsverzeichnis

Parameter

other - ein weiterer synchronisierter Ausgabestrom, von dem verschoben werden soll

Rückgabewert

* this

Beispiel

#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); // Hinweis: out wird hier ausgegeben
    std::cout << "str_out = " << std::quoted(str_out.view()) << '\n';
}

Ausgabe:

test
str_out = ""

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3867 C++20 der Move-Zuweisungsoperator war noexcept , aber
std::basic_syncbuf 's Move-Zuweisungsoperator ist es nicht
entfernt noexcept

Siehe auch

Konstruiert ein basic_osyncstream -Objekt
(öffentliche Elementfunktion)
Zerstört den basic_osyncstream und gibt seinen internen Puffer frei
(öffentliche Elementfunktion)
Ruft emit() auf dem zugrundeliegenden basic_syncbuf auf, um seine internen Daten an das endgültige Ziel zu übertragen
(öffentliche Elementfunktion)