std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume
来自cppreference.com
< cpp | coroutine | coroutine
handle
工具库
协程支持
| 协程特征 | ||||
|
(C++20)
|
||||
| 协程柄 | ||||
|
(C++20)
|
||||
| 无操作协程 | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| 平凡可等待体 | ||||
|
(C++20)
|
||||
|
(C++20)
|
std::coroutine_handle
| 成员函数 | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| 转换 | ||||
| 观察器 | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| 控制 | ||||
|
coroutine_handle::operator()coroutine_handle::resume
(C++20)(C++20)
|
||||
|
(C++20)
|
||||
| 承诺访问 | ||||
|
(C++20)
|
||||
| 导出/导入 | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| 非成员函数 | ||||
|
(C++20)(C++20)
|
||||
| 辅助类 | ||||
|
(C++20)
|
|
其他特化的成员
|
||
|
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::thread 或 std::jthread 表示的线程,或执行 main
的线程。
参数
(无)
返回值
(无)
注解
在不同执行代理上恢复的协程应该处处避免依赖一致的线程同一性,例如跨过暂停点保有互斥体对象。
示例
| 本节未完成 原因:暂无示例 |
参阅
|
(C++20)
|
销毁协程 (公开成员函数) |