Releases: luncliff/coroutine
Release: 1.5.0
TBA
Release: 1.4.3
Glad to be registered in the C++ links: Coroutines !
Features
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
Changes
Type Rename
There was type renaming in the network code.
#include <coroutine/net.h>
Change of the test framework
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.
Support
Tool/Platform support is just like the 1.4.2 release.
Known Issues
Release: 1.4.2
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 (+ 한국어 버전)
Features
Note that this version is not compatible with 1.4.1 or before.
- Removed
<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
Support
Tool
Android NDK build is now available. It took tool long. Sorry! :(
- Visual Studio 2017, 2019
- CMake (3.14 or later)
- Android Studio (see the build.gradle)
Platform
From the CI Env
- Windows 10
- SDK 10.0.14393.0
- MacOS
- Darwin-18.5.0 Xcode 10.1
- Ubuntu 16.04
- Linux-4.15.0-1028-gcp
From the developer's Env
- Windows Subsystem for Linux (Ubuntu 18.04)
- Linux 4.4.0-17763-Microsoft
379-Microsoft Wed Mar 06 19:16:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
- Linux 4.4.0-17763-Microsoft
Compiler
msvc
: vc141, vc142clang-cl
: 7.0.1, 8.0clang
: 6.0.1, 7.0AppleClang
: 10.0.1.10010046
Release: 1.4.1
Release: 1.4
Features
- coroutine frame
- suspend helper types
- channel
- generator / async generator
- socket I/O
Build Support
Tool
- Visual Studio
- CMake
Package Manager
- vcpkg
Platform
- Windows 10 - SDK 10.0.14393.0 (or later)
- MacOS - Darwin-17.7 Xcode 10.0
- Ubuntu Xenial(16.04) - Linux-4.15.0-1026-gcp
Requires latest libc++(6.0.0 or later) installation.
Compiler
- MSVC (v141)
- AppleClang 10.0.0.10001145
- Clang 6.0, 7
- clang-cl (7.0 : build is available, but test is broken)
Release 1.3
Features
- coroutine frame
- thread switching
- channel
- generator / async generator
Build Support
Tool
- Visual Studio
- CMake
Platform
- Windows 10 - SDK 10.0.14393.0 (or later)
- MacOS - Darwin-17.4.0 Xcode 9.4
- Ubuntu Xenial(16.04) - Linux-4.15.0-1023-gcp
- Ubuntu Bionic(18.04) - Linux-4.15.0-1023-gcp
Requires latest libc++(6.0.0 or later) installation. There is a support script for the purpose
Compiler
- MSVC (v141)
- AppleClang 9.1.0.9020039
- Clang 6.0
- Clang 7