std::basic_syncbuf<CharT,Traits,Allocator>::operator=
basic_syncbuf& operator=( basic_syncbuf&& other ); |
Сначала вызывает emit(), чтобы передать все ожидающие данные вывода (и отложенную очистку, если таковая имеется) в обернутый поток.
Затем выполняет присваивание перемещением, перемещая все содержимое из other, включая временное хранилище, указатель на обернутый поток, политику и все другие состояния (например, указатель на мьютекс). После перемещения other не ассоциировано с потоком, и other.get_wrapped() == nullptr. Указатели членов области put базового класса std::basic_streambuf объекта other гарантированно равны null. Уничтожение перемещённого из other объекта не приведёт к выводу.
Если std::allocator_traits<Allocator>::propagate_on_container_move_assignment::value равно false, то аллокатор не изменяется. В противном случае, после присваивания перемещением, get_allocator() равно other.get_allocator().
Параметры
| other | - | другой std::basic_syncbuf для перемещения |
Возвращаемое значение
*this
Пример
См. также
присваивает объект basic_osyncstream (публичный член-функция std::basic_osyncstream<CharT,Traits,Allocator>) |
|
создаёт объект basic_syncbuf (публичный член-функция) |
|
| атомарно передает весь внутренний буфер в обернутый поток-буфер (публичный член-функция) |
|
меняет местами два объекта basic_syncbuf (публичный член-функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_syncbuf/operator%3D