4 ms·
Wow. That looks really simple.
by tidwall 9y ago
Wow. That looks really simple.
- nly 9y agoUnfortunately it's just exposition, but here[0] is a version that works with Clang 5 + Boost Echo specific code starts on line 167. Everything above will hopefully be provided by the standard library once both the Networking TS and Coroutine TS merge in to C++20. One nice thing about lines 1 - 165 though, is that it demonstrates how easy it is to extend the native coroutine capabilities in C++ to support arbitrary async libraries, even if the author of those libraries didn't know anything about coroutines. All this happens without breaking the ability to call these coroutines from C. You can even use async C libraries that only provide a void* argument to your callback. [0] https://gist.github.com/anonymous/d9a258136431a352516122d1c9c2ca58 https://gist.github.com/anonymous/d9a258136431a352516122d1c9...