std::noop_coroutine_promise

来自cppreference.com
< cpp‎ | coroutine
 
 
 
协程支持
协程特征
协程句柄
无操作协程
noop_coroutine_promise
(C++20)
平凡可等待体
范围生成器
(C++23)
 
在标头 <coroutine> 定义
struct noop_coroutine_promise {};
(C++20 起)

noop_coroutine_promise 是无操作协程的承诺类型。

无操作协程表现如同它

  • 在协程控制流外不做任何事,且
  • 在开始和恢复后立即暂停,且
  • 拥有一种协程状态,而销毁该状态为无操作,且
  • 若有任何指代它的 std::coroutine_handle 则绝不抵达其最终暂停点。

无操作协程能由 std::noop_coroutine 开始,并由其所返回的协程柄控制。返回的协程柄类型为 std::noop_coroutine_handle ,这是 std::coroutine_handle<std::noop_coroutine_promise> 的同义词。

无操作协程的某些操作通过 std::noop_coroutine_handle 类型在编译期确定为无操作。

[编辑] 注解

不要求定义无操作协程。例如 gcc 实现仅提供一个无操作协程的协程状态对象,而其 noop_coroutine 函数返回含有指向它的指针的 noop_coroutine_handle 而无需开始协程。

[编辑] 示例

[编辑] 参阅

创建等待或销毁无可观察作用的协程句柄
(函数) [编辑]
std::coroutine_handle<std::noop_coroutine_promise>,有意用于指代无操作协程
(typedef) [编辑]