命名空间
变体
操作

std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume

来自 cppreference.com
 
 
实用程序库
语言支持
类型支持 (基本类型, RTTI)
库功能测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三方比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
协程支持
协程特性
协程句柄
无操作协程
平凡的等待者
范围生成器
(C++23)
 
 
其他特化的成员
void operator()() const;
void resume() const;
(1) (自 C++20 起)
std::coroutine_handle<std::noop_coroutine_promise> 特化的成员
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
(2) (自 C++20 起)
1) 恢复 *this 所引用的协程的执行,或者如果协程是无操作协程,则不执行任何操作。
2) 不执行任何操作。

如果 *this 不引用挂起的协程,或者协程不是无操作协程并且在其最终挂起点挂起,则行为未定义。协程的并发恢复可能导致数据竞争。

在与协程挂起时不同的执行代理上恢复协程的行为是实现定义的,除非每个执行代理都是由 std::threadstd::jthread 表示的线程,或者是在执行 main 的线程。

内容

[编辑] 参数

(无)

[编辑] 返回值

(无)

[编辑] 异常

如果在协程执行期间抛出异常,则会捕获该异常,并在协程的承诺对象上调用 unhandled_exception。如果对 unhandled_exception 的调用抛出或重新抛出异常,则会传播该异常。

[编辑] 注释

在不同执行代理上恢复的协程应避免依赖于整个过程中一致的线程标识,例如在挂起点跨越互斥锁对象。

[编辑] 示例

[编辑] 另请参阅

(C++20)
销毁协程
(公共成员函数) [编辑]