Как лучше всего создать сопрограмму ожидаемого типа?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как лучше всего создать сопрограмму ожидаемого типа?

Сообщение Anonymous »

Пусть задача foo() будет сопрограммой. Хочу поддержать:

Код: Выделить всё

co_await foo()
Как лучше всего это сделать?
  • Реализовать задачу::promise_type::await_transform которые возвращают Awaiter.
  • Реализуйте Awaiter Final_suspend() в задаче::promise_type, как код Льюиса Бейкера здесь: https://godbolt.org/ z/3qKqWEqYG
  • Реализовать глобальный оператор co_await(task&& t)
    Реализовать оператор co_await() в задаче< /li>
Есть мысли, знания или практика по этому поводу?

Подробнее здесь: https://stackoverflow.com/questions/784 ... table-type
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»