Skip to content

luncliff/coroutine

Repository files navigation

coroutine

C++ 20 Coroutines in Action

Build Status Codacy Badge CMake

Purpose of this repository

  • Help understanding of the C++ Coroutines
  • Provide meaningful design example with the feature

In that perspective, the library will be maintained as small as possible. Have fun with them. And try your own coroutines! If you want some tool support, please let me know. I'm willing to learn about it.

If you are looking for another materials, visit the MattPD's collection!

  • Start with the GitHub Pages :)
    You will visit the test/ and interface/ folder while reading the docs.
  • This repository has some custom(and partial) implementation for the C++ Coroutines in the <coroutine/frame.h>.
    It can be activated with macro USE_PORTABLE_COROUTINE_HANDLE

Toolchain Support

Currently using CMake to generate buildsystem files with the following compilers.

  • msvc v142+
  • clang-cl 13+
  • clang 12+
  • AppleClang 12+
  • gcc 10.0+

How To

Setup

git clone "https://github.com/luncliff/coroutine"
Push-Location coroutine
  # ...
Pop-Location

Test

Exploring test(example) codes will be helpful. The library uses CTest for its test. AppVeyor & Travis CI build log will show the execution of them.