mirror of
https://gitlab.com/niansa/libcrosscoro.git
synced 2025-03-06 20:53:32 +01:00
31 lines
713 B
C++
31 lines
713 B
C++
#include <coro/coro.hpp>
|
|
#include <iostream>
|
|
|
|
int main()
|
|
{
|
|
auto task = [](uint64_t count_to) -> coro::task<void> {
|
|
// Create a generator function that will yield and incrementing
|
|
// number each time its called.
|
|
auto gen = []() -> coro::generator<uint64_t> {
|
|
uint64_t i = 0;
|
|
while (true)
|
|
{
|
|
co_yield i++;
|
|
}
|
|
};
|
|
|
|
// Generate the next number until its greater than count to.
|
|
for (auto val : gen())
|
|
{
|
|
std::cout << val << ", ";
|
|
|
|
if (val >= count_to)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
co_return;
|
|
};
|
|
|
|
coro::sync_wait(task(100));
|
|
}
|