|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
协程 promise_type,管理任务生命周期与返回值存储 更多...
#include <virtual_thread.hpp>
Public 成员函数 | |
| virtual_thread_task | get_return_object () |
| 创建返回给调用者的任务对象 | |
| suspend_never | initial_suspend () noexcept |
| 初始挂起点 — 不暂停 | |
| auto | final_suspend () noexcept |
| 最终挂起点 | |
| auto | await_transform (inner::yield_tag) |
| 处理 co_await yield | |
| auto | await_transform (inner::sleep_tag tag) |
| 处理 co_await sleep | |
| void | return_value (const T &value) |
| co_return 值,拷贝存储 | |
| void | return_value (T &&value) |
| co_return 值,移动存储 | |
| template<typename Awaiter> | |
| decltype(auto) | await_transform (Awaiter &&a) |
| 通用 await_transform,透传自定义等待器 | |
| void | unhandled_exception () |
| 未处理异常的捕获入口 | |
| ~promise_type () | |
| 析构时释放共享状态的引用 | |
协程 promise_type,管理任务生命周期与返回值存储
在文件 virtual_thread.hpp 第 526 行定义.
|
inline |
处理 co_await sleep
| tag | 包含休眠时长的标记 |
在文件 virtual_thread.hpp 第 599 行定义.
引用了 virtual_thread_task< T >::await_ready(), virtual_thread_task< T >::await_resume(), virtual_thread_task< T >::await_suspend(), virtual_thread_scheduler::get_instance(), handle(), memory_order_release , 以及 virtual_thread_scheduler::schedule().
|
inlinenoexcept |
最终挂起点
标记完成、通知等待者、调度 continuation。
在文件 virtual_thread.hpp 第 547 行定义.
引用了 virtual_thread_task< T >::await_ready(), virtual_thread_task< T >::await_resume(), virtual_thread_task< T >::await_suspend(), virtual_thread_scheduler::get_instance(), memory_order_acq_rel, memory_order_release , 以及 virtual_thread_scheduler::schedule().