Вопросы по теме 'c++-coroutine'

Что это означает для бесстековой сопрограммы только процедура верхнего уровня может быть приостановлена.
Я нашел это заявление здесь . Сначала я был удивлен, потому что считаю, что это делает бесстековые сопрограммы почти бесполезными (а TS сопрограмм C ++ не имеет стека). Итак, я написал демонстрацию (в Visual Studio с использованием C ++ сопрограммы...
985 просмотров
schedule 09.03.2024

Как я могу вызвать сопрограмму из другой сопрограммы на С++?
У меня есть длинная сопрограмма, и я хотел бы разделить ее на более мелкие сопрограммы. Так же, как и с обычными функциями, чтобы сделать код более понятным. Он должен вести себя так же, как если бы была только одна большая сопрограмма, а все...
389 просмотров

Какова фактическая реализация co_await в совместной подпрограмме c ++ 20
Я изучаю сопрограммы на C ++ 20. Пытаюсь понять, как работает co_await. Есть какая-то реализация co_await. Читая, co_wait, похоже, ведет себя как future / prom. Когда функция / объект вызывается с co_wait внутри потока, вызывается что-то...
295 просмотров
schedule 15.07.2023

Временные библиотеки сопрограмм c ++ в выражениях co_await
Мне интересно, допустимо ли co_awaiting сопрограммы с временным захватом по ссылке. Итак, следующий код действителен, я думаю, должен ли компилятор поместить временное во фрейм сопрограммы, как для локальных переменных: task g(const S&); task...
131 просмотров
schedule 15.10.2023

C ++ 20 Coroutines, Неожиданное переупорядочение await_resume, return_value и yield_value
Фон У меня есть тип задачи, который может одновременно co_return и co_yield . В LLVM задача работает должным образом и проходит некоторые ранние тесты. В MSVC и GCC код не работает одинаково (совпадение?). Краткая проблема С помощью...
628 просмотров
schedule 29.05.2023

Может ли сопрограмма вернуть std::future? (не удалось найти тип промиса для этой сопрограммы)
Я попытался скомпилировать пример сопрограммы из презентации CppCon https://youtu.be/ZTqHjjm86Bw?t=560 К сожалению, компиляция не удалась: $ g++-10 -pedantic -Wall -std=c++20 -fcoroutines main.cpp main.cpp: In function...
261 просмотров
schedule 16.03.2023

Требуется ли возобновление совместной подпрограммы из вызывающей функции в C ++?
У меня возник вопрос по работе co_await на C ++. У меня есть следующий фрагмент кода: - // Downloads url to cache and // returns cache file path. future<path> cacheUrl(string url) { cout << "Downloading url."; string text =...
65 просмотров