LeviLamina
Loading...
Searching...
No Matches
ForwardAwaiter.h
1
#pragma once
2
3
#include <coroutine>
4
5
namespace
ll::coro {
6
template
<
typename
T>
7
struct
ForwardAwaiter
{
8
[[nodiscard]]
constexpr
ForwardAwaiter
(T val) : t(std::move(val)) {}
9
10
constexpr
bool
await_ready()
const
noexcept
{
return
true
; }
11
constexpr
void
await_suspend(std::coroutine_handle<>)
const
noexcept
{}
12
constexpr
T await_resume()
noexcept
{
return
std::move(t); }
13
14
T t;
15
};
16
template
<>
17
struct
ForwardAwaiter
<void> {
18
constexpr
bool
await_ready()
const
noexcept
{
return
true
; }
19
constexpr
void
await_suspend(std::coroutine_handle<>)
const
noexcept
{}
20
constexpr
void
await_resume()
const
noexcept
{}
21
};
22
}
// namespace ll::coro
ll::coro::ForwardAwaiter
Definition
ForwardAwaiter.h:7
src
ll
api
coro
ForwardAwaiter.h
Generated on Sat Apr 26 2025 05:55:20 for LeviLamina by
1.12.0