Namespaces
Variants

std::suspend_always

С ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Программные утилиты
Вариативные функции
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношения (устарело в C++20)
 
Поддержка корутин
Характеристики корутин
Дескриптор корутины
Пустые корутины
Тривиальные ожидаемые объекты
Генераторы диапазонов
(C++23)
 
Определён в заголовке <coroutine>
struct suspend_always;
(начиная с C++20)

suspend_always представляет собой пустой класс, который можно использовать для указания того, что выражение await всегда приостанавливается и не производит значение.

Функции-члены

await_ready
указывает, что выражение await всегда приостанавливает выполнение
(public member function)
await_suspend
пустая операция
(public member function)
await_resume
пустая операция
(public member function)

std::suspend_always:: await_ready

constexpr bool await_ready ( ) const noexcept { return false ; }

Всегда возвращает false , указывая, что выражение await всегда приостанавливает выполнение.

std::suspend_always:: await_suspend

constexpr void await_suspend ( std:: coroutine_handle <> ) const noexcept { }

Ничего не делает.

std::suspend_always:: await_resume

constexpr void await_resume ( ) const noexcept { }

Ничего не делает. Выражение await не производит значения, если используется suspend_always .

Пример

Смотрите также

указывает, что await-выражение никогда не должно приостанавливаться
(класс)