1#ifndef MSTL_CORE_ASYNC_ASYNC_HPP__
2#define MSTL_CORE_ASYNC_ASYNC_HPP__
36template <
typename Func,
typename... Args>
40 using AsyncState =
_INNER __future_base::async_state_impl<Wrapper,
async_result_t<Func, Args...>>;
41 using DeferredState =
_INNER __future_base::deferred_state<Wrapper,
async_result_t<Func, Args...>>;
70template <
typename Func,
typename... Args>
MSTL_NODISCARD constexpr T && forward(remove_reference_t< T > &x) noexcept
完美转发左值
MSTL_NODISCARD future< async_result_t< Func, Args... > > async(launch policy, Func &&function, Args &&... args)
异步执行函数(指定策略)
invoke_result_t< decay_t< Func >, decay_t< Args >... > async_result_t
异步调用结果类型推导
#define _MSTL
全局命名空间MSTL前缀
#define _INNER
inner命名空间前缀
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL
enable_if_t<!is_unbounded_array_v< T > &&is_constructible_v< T, Args... >, shared_ptr< T > > make_shared(Args &&... args)
融合分配创建共享指针
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result)
移动范围元素