1#ifndef FENIX_TASKS_AWAITER_HPP
2#define FENIX_TASKS_AWAITER_HPP
9namespace fenix::tasks {
11enum class AwaitMode { NonBlocking, Blocking };
13template <Subtaskable T>
21 bool await_ready()
const {
return task.done(); }
22 auto await_resume()
const noexcept {
return task.result(); }
24 template <
typename PromiseT>
25 bool await_suspend(std::coroutine_handle<PromiseT> h)
const {
26 if (h.promise().await_mode == AwaitMode::Blocking) task.wait();
27 return !await_ready();
Definition awaiter.hpp:14
Definition subtask.hpp:18
Definition subtask.hpp:44