std::basic_syncbuf<CharT,Traits,Allocator>:: emit
|
bool
emit
(
)
;
|
||
原子性地将所有待处理输出传输到被包装的流。
所有将字符传输到同一包装流缓冲区对象的 emit ( ) 调用,其执行过程呈现出完全有序性,其中每个 emit ( ) 调用都会与该完全顺序中后续的 emit ( ) 调用建立 同步关系 ,即使这些调用是通过不同的 std::basic_syncbuf / std::basic_osyncstream 实例发起的。实际上,这意味着 emit() 会获取与包装流对象唯一关联的锁:例如,该锁可以保存在静态哈希映射中,其中包装流的地址被用作键值。
若自上次调用 emit ( ) 后曾执行过对 sync 的调用,则通过在其上调用 pubsync() 同时刷新被包装的流。
目录 |
参数
(无)
返回值
true 当且仅当满足以下所有条件时成立:
- 存在被包装的流(被包装的流缓冲区指针非空)
- 临时存储中的所有字符已成功发送至被包装的流
- 若请求调用 pubsync() ,该调用也已完成且成功
否则返回 false 。
注释
通常由所属 std::basic_osyncstream 的析构函数或移动赋值操作调用,或由 std::basic_osyncstream::emit 调用。
示例
|
本节内容不完整
原因:缺少示例 |
参阅
销毁
basic_osyncstream
并发送其内部缓冲区
(
std::basic_osyncstream<CharT,Traits,Allocator>
的公开成员函数)
|
|
对底层的
basic_syncbuf
调用
emit()
以将其内部数据传输至最终目标
(
std::basic_osyncstream<CharT,Traits,Allocator>
的公开成员函数)
|
|
构造
basic_syncbuf
对象
(公开成员函数) |