NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
virtual_thread_task< T > 模板结构体 参考

异步任务主模板 更多...

#include <virtual_thread.hpp>

struct  promise_type
 协程 promise_type,管理任务生命周期与返回值存储 更多...

Public 成员函数

 virtual_thread_task ()=default
 默认构造,创建空任务
 virtual_thread_task (coroutine_handle< promise_type > h)
 从协程句柄构造任务
 ~virtual_thread_task ()
 析构函数 — 清理未调度的帧,释放共享状态引用
 virtual_thread_task (virtual_thread_task &&other) noexcept
 移动构造函数
virtual_thread_taskoperator= (virtual_thread_task &&other) noexcept
 移动赋值运算符
bool await_ready () noexcept
 co_await 就绪检查
bool await_suspend (coroutine_handle<> caller) noexcept
 co_await 挂起时注册 continuation
await_resume ()
 co_await 恢复时返回结果或抛出异常
get_result ()
 阻塞获取任务结果
bool is_done () const noexcept
 检查任务是否已完成
bool valid () const noexcept
 检查任务是否关联有效共享状态

Public 属性

coroutine_handle< promise_typehandle_ {nullptr}
 协程句柄
inner::task_shared_state< T > * shared_state_ {nullptr}
 共享状态指针

详细描述

template<typename T>
struct virtual_thread_task< T >

异步任务主模板

virtual_thread_task 的类型化版本

模板参数
T任务返回值类型,默认为 void
T任务返回值类型

表示一个返回 T 类型值的异步任务。 提供带返回值的 get_result()await_resume()

在文件 virtual_thread.hpp522 行定义.

成员函数说明

◆ await_ready()

template<typename T>
bool virtual_thread_task< T >::await_ready ( )
inlinenoexcept

◆ await_resume()

template<typename T>
T virtual_thread_task< T >::await_resume ( )
inline

co_await 恢复时返回结果或抛出异常

返回
任务的返回值

在文件 virtual_thread.hpp751 行定义.

引用了 move(), rethrow_exception() , 以及 shared_state_.

被这些函数引用 virtual_thread_task< T >::promise_type::await_transform(), virtual_thread_task< T >::promise_type::await_transform() , 以及 virtual_thread_task< T >::promise_type::final_suspend().

◆ get_result()

template<typename T>
T virtual_thread_task< T >::get_result ( )
inline

阻塞获取任务结果

若任务未完成则阻塞当前线程。任务异常会在此重新抛出。

返回
任务的返回值

在文件 virtual_thread.hpp764 行定义.

引用了 memory_order_acquire, move(), rethrow_exception() , 以及 shared_state_.


该结构体的文档由以下文件生成: