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

< cpp‎ | io‎ | basic syncbuf
basic_syncbuf& operator=(basic_syncbuf&& other);

首先,调用 emit() 传输所有待决输出(和延迟冲入,若存在)到被包装流。

然后通过从other 移动所有内容,包括临时存储、被包装的流指针、策略及所有其他状态(如互斥指针),进行移动赋值。移动后, other 不与流关联,而 other.get_wrapped()==nullptrotherstd::basic_streambuf 基类的放置区成员指针保证为空。销毁被移动的 other 将不会产生任何输出。

std::allocator_traits<Allocator>::propagate_on_container_move_assignment::valuefalse ,则不更改分配器。否则,移动后 get_allocator() 等于 other.get_allocator()

参数

other - 要移动的另一 std::basic_syncbuf

返回值

*this

示例

参阅

赋值 basic_osyncstream
(std::basic_osyncstream<CharT,Traits,Allocator> 的公开成员函数)
构造 basic_syncbuf 对象
(公开成员函数)
原子地传输整个内部缓冲区给被包装 streambuf
(公开成员函数)
交换二个 basic_syncbuf 对象
(公开成员函数)