As historical note for those that don't follow C++, C++20 co-routines grew up from the work done with asynchronous programming on WinRT for C# and C++, inspired by Midori and .NET async/await.
Most of the magic methods expected by C++ compilers in awaitable types, are also present in the structured typing used by C# for awaitables.
The preview implementation for VC++ and clang were done by a Microsoft employee, Gor Nishanov, his talks are always quite interesting.
Hopefully, you find it useful! If you have any ideas or suggestions for improvement, feel free to open an issue or let me know. Thanks for considering it!
Most of the magic methods expected by C++ compilers in awaitable types, are also present in the structured typing used by C# for awaitables.
The preview implementation for VC++ and clang were done by a Microsoft employee, Gor Nishanov, his talks are always quite interesting.