Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

write(16个重载中的15个)

在返回之前,向流写入一定量的数据。

template<
    typename SyncWriteStream,
    typename DynamicBuffer_v2,
    typename CompletionCondition>
std::size_t write(
    SyncWriteStream & s,
    DynamicBuffer_v2 buffers,
    CompletionCondition completion_condition,
    constraint_t< is_dynamic_buffer_v2< DynamicBuffer_v2 >::value >  = 0,
    constraint_t< is_completion_condition< CompletionCondition >::value >  = 0);

此函数用于向流写入特定数量的数据字节。调用将阻塞,直到以下条件之一为真

此操作通过零次或多次调用流的 write_some 函数来实现。

参数

s

要写入数据的流。类型必须支持 SyncWriteStream 概念。

buffers

将从中写入数据的动态缓冲区序列。成功写入的数据会自动从缓冲区中消耗。

completion_condition

要调用的函数对象,以确定写入操作是否完成。函数对象的签名必须是

std::size_t completion_condition(
  // Result of latest write_some operation.
  const boost::system::error_code& error,

  // Number of bytes transferred so far.
  std::size_t bytes_transferred
);

返回值为 0 表示写入操作已完成。非零返回值表示在下次调用流的 write_some 函数时要写入的最大字节数。

返回值

传输的字节数。

异常

boost::system::system_error

失败时抛出。


PrevUpHomeNext