15 class [[nodiscard(
"The result must be awaited, otherwise, it may do NOTHING!!!")]] ImmediateAwaitable
20 requires std::default_initializable<Awaiter>
22 ImmediateAwaitable(Awaiter awaiter) : awaiter_(std::move(awaiter))
26 ~ImmediateAwaitable() =
default;
28 ImmediateAwaitable(
const ImmediateAwaitable&) =
delete;
29 ImmediateAwaitable(ImmediateAwaitable&&) =
delete;
30 ImmediateAwaitable& operator=(
const ImmediateAwaitable&) =
delete;
31 ImmediateAwaitable& operator=(ImmediateAwaitable&&) =
delete;
33 friend Awaiter
operator co_await(ImmediateAwaitable awaitable)
35 return std::move(awaitable).awaiter_;