The following code example is taken from the book
C++20 - The Complete Guide
by Nicolai M. Josuttis,
Leanpub, 2021
The code is licensed under a
Creative Commons Attribution 4.0 International License.
// raw code
#include <iostream>
#include "corogenback.hpp" // for CoroGenBack
CoroGenBack coro(int max)
{
std::cout << " CORO " << max << " start\n";
for (int val = 1; val <= max; ++val) {
// print next value:
std::cout << " CORO " << val << '/' << max << '\n';
// yield next value:
auto back = co_yield val; // SUSPEND with value with response
std::cout << " CORO => " << back << "\n";
}
std::cout << " CORO " << max << " end\n";
}