[coroutine.trivial.awaitables] (original) (raw)

17 Language support library [support]

17.12 Coroutines [support.coroutine]

17.12.5 Trivial awaitables [coroutine.trivial.awaitables]

namespace std { struct suspend_never { constexpr bool await_ready() const noexcept { return true; } constexpr void await_suspend(coroutine_handle<>) const noexcept {} constexpr void await_resume() const noexcept {} }; struct suspend_always { constexpr bool await_ready() const noexcept { return false; } constexpr void await_suspend(coroutine_handle<>) const noexcept {} constexpr void await_resume() const noexcept {} }; }

[ Note

:

The types suspend_­never and suspend_­always can be used to indicate that an await-expression should either never suspend or always suspend, and in either case not produce a value.

end note

]