Lightweight 0.20260617.0
Loading...
Searching...
No Matches
Fwd.hpp
1// SPDX-License-Identifier: Apache-2.0
2#pragma once
3
4// Lightweight forward declarations for the coroutine async layer.
5//
6// Core headers (SqlConnection, SqlStatement, DataMapper, Pool) include this to declare their
7// async member functions without pulling in <coroutine> or the full async runtime. The heavy
8// definitions are provided by the corresponding `.cpp` files and by the `Async/*.hpp` template
9// bodies (e.g. DataMapperAsync.hpp, Backend.hpp), which include the complete headers.
10// <stop_token> is included in full because it is lightweight (no <coroutine>) and the cancellation
11// token (a @c std::stop_token) appears as a defaulted argument on async declarations.
12
13#include <stop_token>
14
15namespace Lightweight::Async
16{
17
18// Note: the default template argument for Task lives in Task.hpp; it must not be repeated here.
19template <typename T>
20class Task;
21
22class IExecutor;
23class IResumeScheduler;
24class IAsyncBackend;
25class StrandExecutor;
26
27} // namespace Lightweight::Async