Boost C++ 库

世界上最受推崇、设计最精湛的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

async_result - Boost C++ 函数库
PrevUpHomeNext

用于自定义发起函数行为的接口。

template<
    typename CompletionToken,
    typename... Signatures>
class async_result
类型

名称

描述

completion_handler_type

(遗留) 特定签名的具体完成处理程序类型。

return_type

(遗留) 发起函数的返回类型。

成员函数

名称

描述

async_result [构造函数]

(遗留) 从给定处理程序构造异步结果。

get

(遗留) 获取要从发起函数返回的值。

initiate [静态]

启动将产生结果的异步操作,并获取要从发起函数返回的值。

async_result 特征是一个自定义点,在 异步操作 的发起函数中使用。该特征组合了

  • 描述异步操作将传递给完成处理程序的参数的完成签名(或签名);
  • 调用者提供的 完成令牌 类型;以及
  • 操作的内部实现。

该特征的特化必须满足 async_result 要求,并负责确定

  • 在异步操作结束时调用的具体完成处理程序类型;
  • 发起函数的返回类型;
  • 如何获取发起函数的返回值;以及
  • 如何以及何时通过调用提供的启动函数对象来启动操作。

此模板可以为用户定义的完成令牌类型进行特化。主模板假定 CompletionToken 已经是具体的完成处理程序。

备注

为了向后兼容,主模板实现了与 async_result 特征的旧形式相关的成员类型和函数。这些在下面的文档中被标记为“遗留”。用户对该特征的特化不需要实现这些才能满足 async_result 要求

通常,异步操作的实现者应该使用 async_initiate 函数,而不是直接使用 async_result 特征。

有关 async_result 和 async_initiate 作用的更详细讨论,请参阅 完成令牌 的概述文档。

要求

Header: boost/asio/async_result.hpp

便捷头文件: boost/asio.hpp


PrevUpHomeNext