C++ 20 Coroutines in Action (Helpers + Test Code Examples)
TBA
Glad to be registered in the C++ links: Coroutines !
Note that this version is not compatible with 1.4.2 or before.
Detailed descriptions are in the wiki.
#include <coroutine/frame.h> // This header includes/overrides <experimental/coroutine>
#include <coroutine/yield.hpp> // enumerable<T> & sequence<T>
#include <coroutine/return.h> // return type for resumable functions
#include <coroutine/concrt.h> // concurrency utilities over system API
#include <coroutine/channel.hpp> // channel<T> with Lockable
#include <coroutine/net.h> // Awaitable I/O operations and some helpers
There was type renaming in the network code.
#include <coroutine/net.h>
Catch2 is removed from the test codes.
The work spent time more than expected, but it was necessary to detect compilers' problem correctly and make ease of reproducing the issue.
Tool/Platform support is just like the 1.4.2 release.
I had a presentation in C++ Korea Facebook Group's Seminar. You can download and share it :)
Exploring The C++ Coroutine: Approach, Compiler, and Issues (+ 한국어 버전)
Note that this version is not compatible with 1.4.1 or before.
<coroutine/suspend.h>
.<coroutine/frame.h>
now works with VC++ header <experimental/resumable>
Detailed descriptions are in the wiki.
#include <coroutine/frame.h> // This header includes/overrides <experimental/coroutine>
#include <coroutine/yield.hpp> // enumerable<T> & sequence<T>
#include <coroutine/return.h> // return type examples for convenience
#include <coroutine/concrt.h> // concurrency utilities over system API
#include <coroutine/channel.hpp> // channel<T, Lockable>
#include <coroutine/net.h> // async i/o for sockets
Android NDK build is now available. It took tool long. Sorry! :(
msvc
: vc141, vc142clang-cl
: 7.0.1, 8.0clang
: 6.0.1, 7.0AppleClang
: 10.0.1.10010046Requires latest libc++(6.0.0 or later) installation.
Requires latest libc++(6.0.0 or later) installation. There is a support script for the purpose