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

Move-assigns a synchronized output stream:

# Declarations

basic_osyncstream& operator=( std::basic_osyncstream&& other );

(since C++20)

# Parameters

# Return value

*this

# Example

#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); // Note that out is emitted here
    std::cout << "str_out = " << std::quoted(str_out.view()) << '\n';
}

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
LWG 3867C++20the move assignment operator was noexcept, butstd::basic_syncbuf’s move assignment operator is notremoved noexcept

# See also