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 "generator.hpp" // for Generator<>
Generator<int> 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:
co_yield val; // SUSPEND with value
}
std::cout << "CORO " << max << " end\n";
}