16 using value_type = _Ty;
18 using promise_type = promise_t<value_type>;
25 :_state(std::move(_st)) {}
32 bool await_ready() noexcept
34 return _state->future_await_ready();
37 template<
class _PromiseT,
typename = std::enable_if_t<traits::is_promise_v<_PromiseT>>>
38 void await_suspend(coroutine_handle<_PromiseT> handler)
40 _state->future_await_suspend(handler);
43 value_type await_resume()
45 return _state->future_await_resume();
50 #ifndef DOXYGEN_SKIP_PROPERTY
52 namespace experimental {
59 template <
typename _Ty,
typename... Args>
60 struct coroutine_traits<resumef::future_t<_Ty>, Args...>
62 typedef resumef::promise_t<_Ty> promise_type;
66 #endif //DOXYGEN_SKIP_PROPERTY