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

来自cppreference.com
< cpp‎ | io‎ | basic syncbuf
explicit basic_syncbuf( streambuf_type* obuf = nullptr )
: basic_syncbuf( obuf, Allocator() ) {}
(1)
basic_syncbuf( streambuf_type* obuf, const Allocator& a);
(2)
basic_syncbuf( basic_syncbuf&& rhs);
(3)
1,2) 创建 std::basic_syncbuf 的实例,将其同步时发生( emit-on-sync )策略设为 false ,被包装流缓冲设为 obuf ,并以 a 为临时存储的分配器。
3) 移动构造函数:通过从另一 std::basic_syncbuf 对象 rhs 移动所有内容,包括临时存储、被包装流指针、策略及所有其他状态(例如互斥指针),移动构造 std::basic_syncbuf 对象。移动后, rhs 不与流关联,而 rhs.get_wrapped()==nullptrrhs 的基类 std::basic_streambuf 的放置区指针保证为空。销毁被移动的 rhs 将不产生任何输出。

目录

[编辑] 参数

obuf - 指向要包装的 std::basic_streambuf 的指针
a - 用于临时存储的分配器
rhs - 作为移动来源的另一 std::basic_syncbuf

[编辑] 异常

1,2) 可能从内部临时存储的构造函数抛出 std::bad_alloc ,或从互斥的构造抛出 std::system_error

[编辑] 注意

通常为 std::basic_osyncstream 的适当构造函数所调用。

[编辑] 示例

[编辑] 参阅

[虚]
将缓冲与关联的字符序列同步
(std::basic_streambuf<CharT,Traits> 的虚受保护成员函数) [编辑]
原子地传输整个内部缓冲区给被包装 streambuf
(公开成员函数) [编辑]