std::basic_osyncstream<CharT,Traits,Allocator>:: operator=
|
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) |