|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
异步编程相关组件 更多...
类 | |
| class | shared_future< Res > |
| 共享future类模板 更多... | |
| class | promise< Res > |
| Promise类模板 更多... | |
| class | future< Res > |
| 独占future类模板 更多... | |
| class | future< Res & > |
| 引用类型的future特化 更多... | |
| class | future< void > |
| void类型的future特化 更多... | |
| class | shared_future< Res & > |
| 引用类型的共享future特化 更多... | |
| class | shared_future< void > |
| void类型的共享future特化 更多... | |
| struct | future_result< T > |
| future结果类型转换 更多... | |
| struct | future_result< void > |
| void类型的future结果转换特化 更多... | |
| class | packaged_task< Res(Args...)> |
| 异步任务包装类模板 更多... | |
| class | promise< Res & > |
| 引用类型的promise特化 更多... | |
| class | promise< void > |
| void类型的promise特化 更多... | |
类型定义 | |
| template<typename Func, typename... Args> | |
| using | async_result_t = invoke_result_t<decay_t<Func>, decay_t<Args>...> |
| 异步调用结果类型推导 | |
| template<typename T> | |
| using | future_result_t = typename future_result<T>::type |
| future结果类型别名 | |
枚举 | |
| enum class | future_errc { future_errc::future_already_retrieved = 1 , future_errc::promise_already_satisfied , future_errc::no_state , future_errc::broken_promise } |
| 期值错误码枚举 更多... | |
| enum class | future_status { future_status::ready , future_status::timeout , future_status::deferred } |
| 期值状态枚举 更多... | |
| enum class | launch { launch::async = 1 , launch::deferred = 2 } |
| 异步启动策略枚举 更多... | |
函数 | |
| template<typename Func, typename... Args> | |
| MSTL_NODISCARD future< async_result_t< Func, Args... > > | async (launch policy, Func &&function, Args &&... args) |
| 异步执行函数(指定策略) | |
| template<typename Func, typename... Args> | |
| MSTL_NODISCARD future< async_result_t< Func, Args... > > | async (Func &&function, Args &&... args) |
| 异步执行函数(默认策略) | |
| template<typename T> | |
| MSTL_ALWAYS_INLINE enable_if_t< is_void_v< T >, future_result_t< T > > | get (future< T > &f) |
| 通用future结果获取函数 | |
异步编程相关组件
| using async_result_t = invoke_result_t<decay_t<Func>, decay_t<Args>...> |
| using future_result_t = typename future_result<T>::type |
|
strong |
期值错误码枚举
定义future/promise操作可能发生的错误类型。
| 枚举值 | |
|---|---|
| future_already_retrieved | future已经被获取 |
| promise_already_satisfied | promise已经被满足 |
| no_state | 没有关联的状态对象 |
| broken_promise | 承诺被破坏 |
在文件 future.hpp 第 62 行定义.
|
strong |
|
strong |
| MSTL_NODISCARD future< async_result_t< Func, Args... > > async | ( | Func && | function, |
| Args &&... | args ) |
| MSTL_NODISCARD future< async_result_t< Func, Args... > > async | ( | launch | policy, |
| Func && | function, | ||
| Args &&... | args ) |
异步执行函数(指定策略)
| Func | 可调用类型 |
| Args | 参数类型 |
| policy | 执行策略 |
| function | 要异步执行的函数 |
| args | 函数参数 |
根据指定的执行策略异步执行函数:
引用了 _INNER, _MSTL, async, forward(), make_shared() , 以及 move().
被这些函数引用 async().
| MSTL_ALWAYS_INLINE enable_if_t< is_void_v< T >, future_result_t< T > > get | ( | future< T > & | f | ) |
通用future结果获取函数
| T | void类型 |
| f | future对象 |
在文件 future.hpp 第 1202 行定义.
引用了 future< Res >::get() , 以及 none.