tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
suspend_always.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2// SPDX-FileCopyrightText: Copyright (C) 2021 Tobias Hienzsch
3
4#ifndef TETL_COROUTINE_SUSPEND_ALWAYS_HPP
5#define TETL_COROUTINE_SUSPEND_ALWAYS_HPP
6
7#include <etl/_coroutine/coroutine_handle.hpp>
8
9#if defined(__cpp_coroutines)
10
11namespace etl {
12
13/// \ingroup coroutine
14struct suspend_always {
15 [[nodiscard]] constexpr auto await_ready() const noexcept -> bool
16 {
17 (void)this;
18 return false;
19 }
20
21 constexpr auto await_suspend(coroutine_handle<> /*unused*/) const noexcept -> void
22 {
23 (void)this;
24 }
25
26 constexpr auto await_resume() const noexcept -> void
27 {
28 (void)this;
29 }
30};
31
32} // namespace etl
33
34#endif // defined(__cpp_coroutines)
35
36#endif // TETL_COROUTINE_SUSPEND_ALWAYS_HPP