# std::suspend_always

From cppreference.com
< cpp‎ | coroutine

Defined in header `<coroutine>` |  |
struct suspend_always; |  | (since C++20)

`suspend_always` is an empty class which can be used to indicate that an await expression always suspends and does not produce a value.

### Member functions

await_ready (C++20) | indicates that an await expression always suspends (public member function)
await_suspend (C++20) | no-op (public member function)
await_resume (C++20) | no-op (public member function)

## std::suspend_always::await_ready

constexpr bool await_ready() const noexcept { return false; } |  | (since C++20)

Always returns false, indicating that an await expression always suspends.

## std::suspend_always::await_suspend

constexpr void await_suspend( std::coroutine_handle<> ) const noexcept {} |  | (since C++20)

Does nothing.

## std::suspend_always::await_resume

constexpr void await_resume() const noexcept {} |  | (since C++20)

Does nothing. An await expression does not produce a value if `suspend_always` is used.

### Example

| This section is incomplete Reason: no example

### See also

suspend_never (C++20) | indicates that an await-expression should never suspend (class)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/coroutine/suspend_always&oldid=145394"