Namespaces
Variants

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

From cppreference.net
std::basic_syncbuf
Public member functions
basic_syncbuf::basic_syncbuf
(C++20)
Protected member functions
Non-member functions
basic_syncbuf ( )
: basic_syncbuf ( nullptr )
(1)
explicit basic_syncbuf ( streambuf_type * obuf )
: basic_syncbuf ( obuf, Allocator ( ) ) { }
(2)
basic_syncbuf ( streambuf_type * obuf, const Allocator & a ) ;
(3)
basic_syncbuf ( basic_syncbuf && rhs ) ;
(4)
**Примечание:** Весь код C++ внутри тегов ` ` оставлен без изменений, как и требовалось. HTML-теги и атрибуты также сохранены в оригинальном виде.
1) Конструктор по умолчанию: создает экземпляр std::basic_syncbuf с политикой синхронизации установленной в false , обернутым потоковым буфером установленным в nullptr , и использующий конструктор по умолчанию Allocator в качестве аллокатора для временного хранилища.
2,3) Создает экземпляр std::basic_syncbuf с политикой синхронизации при вызове sync установленной в false , обернутым потоковым буфером установленным в obuf и использующим a в качестве аллокатора для временного хранилища.
4) Конструктор перемещения: перемещающее конструирование объекта std::basic_syncbuf путём перемещения всех содержимых из другого объекта std::basic_syncbuf rhs , включая временное хранилище, указатель на обёрнутый поток, политику и все остальные состояния (такие как указатель на мьютекс). После перемещения rhs не ассоциирован с потоком, и rhs. get_wrapped ( ) == nullptr . Указатели области вывода базового класса std::basic_streambuf для rhs гарантированно являются нулевыми. Уничтожение перемещённого rhs не приведёт к какому-либо выводу.

Содержание

Параметры

obuf - указатель на std::basic_streambuf для обёртки
a - аллокатор для использования во временном хранилище
rhs - другой std::basic_syncbuf для перемещения

Исключения

2,3) Может выбросить std::bad_alloc из конструктора внутреннего временного хранилища или std::system_error из конструктора мьютекса.

Примечания

Обычно вызывается соответствующими конструкторами std::basic_osyncstream .

Пример

Смотрите также

[virtual]
синхронизирует буферы с ассоциированной последовательностью символов
(виртуальная защищённая функция-член std::basic_streambuf<CharT,Traits> )
атомарно передаёт весь внутренний буфер в обёрнутый streambuf
(публичная функция-член)