These are some (largely) independent tests with coroutines for the task scheduling studies in Work Package 1.7.
This project isn't intended as a coroutine support library. If you're looking for a fully-fledged coroutine library, consider using cppcoro, libcoro or concurrencpp. For composing asynchronous operations across libraries, consider using std::execution (senders/receivers) (reference implementations Nvidia/stdexec, bemanproject/execution).
The project requires a C++20 compiler with coroutine support.
To build the project run:
cmake --workflow --preset 20Building the examples using std::generator or beman.task requires C++23 standard:
cmake --workflow --preset 23Then run the examples, for instance:
./build/examples/generatorTo make experimentation easier, a skeleton coroutine is provided that includes most of the boilerplate code and can be copied and completed with your own implementation.