Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The problem is that they really need some more infrastructure than the language provides before they're usable. cppcoro provides a pretty usable interface to coroutines which makes a lot more sense than the raw facilities c++20 has.
The low level stuff can be used to wait on non-traditional things. For example, to learn C++ coroutines I made a gameboy emulator that uses coroutines for the different hardware components which can "await" a number of emulated clock cycles - and then a central scheduler handles advancing the clock and resuming coroutines as their awaited cycle comes up.
Possibly, but all of that functionality has value. We use it to maintain executor affinity for coroutines, to carry context state for web requests, to allow us to trace dependencies between coroutines and to allow us to walk chains of coroutines in gdb with a simple co_bt command.