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