...世界上最受推崇、设计最精良的 C++ 库项目之一。 — Herb Sutter 和 Andrei Alexandrescu, C++ Coding Standards
...世界上最受推崇、设计最精良的 C++ 库项目之一。
如果类型 X 满足下表列出的要求,则满足 SyncWriteStream 要求。
X
SyncWriteStream
下表中,a 表示类型为 X 的值,cb 表示满足 ConstBufferSequence 要求的(可能是 const 的)值,而 ec 表示一个类型为 error_code 的对象。
a
cb
ConstBufferSequence
ec
error_code
表 33. SyncWriteStream 要求
操作
type
语义、前/后置条件
a.write_some(cb) a.write_some(cb,ec)
a.write_some(cb)
a.write_some(cb,ec)
size_t
满足 写入操作的要求。 如果 buffer_size(cb) > 0,则从缓冲区序列 cb 向流 a 写入一个或多个字节的数据。如果成功,则将 ec 设置为 !ec 为 true,并返回写入的字节数。如果发生错误,则将 ec 设置为 !!ec 为 true,并返回 0。 如果 buffer_size(cb) == 0,则该操作不得阻塞。将 ec 设置为 !ec 为 true,并返回 0。
buffer_size(cb) > 0
!ec
true
!!ec
buffer_size(cb) == 0