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)
1) 默认构造函数:创建一个 std::basic_syncbuf 实例,其同步时发送策略设置为 false ,包装的流缓冲区设置为 nullptr ,并使用默认构造的 Allocator 作为临时存储的分配器。
2,3) 创建一个 std::basic_syncbuf 实例,其同步时发送策略设为 false ,包装的流缓冲区设为 obuf ,并使用 a 作为临时存储的分配器。
4) 移动构造函数:通过从另一个 std::basic_syncbuf 对象 rhs 移动所有内容(包括临时存储、包装的流指针、策略及所有其他状态,如互斥锁指针)来移动构造一个 std::basic_syncbuf 对象。移动后, rhs 不再与任何流关联,且满足 rhs. get_wrapped ( ) == nullptr rhs 的基类 std::basic_streambuf 的放置区成员指针保证为空。销毁被移动的 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> 的虚受保护成员函数)
以原子操作将整个内部缓冲区传输至包装的流缓冲区
(公开成员函数)