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

basic_osyncstream( streambuf_type* buf, const Allocator& a);
(1)
explicit basic_osyncstream( streambuf_type* buf )
: basic_osyncstream( buf, Allocator() ) {}
(2)
basic_osyncstream( std::basic_ostream<CharT, Traits>& os, const Allocator& a)
: basic_osyncstream( os.rdbuf(), a) {}
(3)
explicit basic_osyncstream( std::basic_ostream<CharT, Traits>& os )
: basic_osyncstream( os, Allocator() ) {}
(4)
basic_osyncstream( std::basic_osyncstream&& other) noexcept;
(5)

构造新的同步输出流。

1-4) 以提供的缓冲和分配器构造私有成员 std::basic_syncbuf ,并以指向成员 std::basic_streambuf 的指针初始化基类。
5) 移动构造函数。从 other 的对应子对象移动构造 std::basic_ostream 基类和 std::basic_syncbuf 成员,然后以指向新构造的底层 std::basic_syncbuf 的指针调用 set_rdbuf 以完成基类的初始化。此移动构造函数后, other.get_wrapped() 返回 nullptr ,而 other 的析构不产生输出。

参数

buf - 指向将被包装的 std::basic_streambuf 的指针
os - std::basic_ostream 的引用,将包装其 rdbuf()
a - 传递给成员 std::basic_syncbuf 的构造函数的分配器
other - 移动来源的另一 osyncstream

示例

参阅

构造 basic_syncbuf 对象
(std::basic_syncbuf<CharT,Traits,Allocator> 的公开成员函数)