A library of C++ coroutine abstractions for the coroutines TS (by lewissbaker)


Basic cppcoro repo stats
16 days ago

lewissbaker/cppcoro is an open source project licensed under MIT License which is an OSI approved license.

Cppcoro Alternatives

Similar projects and alternatives to cppcoro

  • GitHub repo libunifex

    Unified Executors

  • GitHub repo CoroGB

    CoroGB is an experimental gameboy emulator written in C++ w/ coroutines

  • GitHub repo Folly

    An open-source C++ library developed and used at Facebook.

  • GitHub repo stl_interfaces

    A C++14 and later CRTP template for defining iterators

  • GitHub repo cppcoro

    A library of C++ coroutine abstractions for the coroutines TS (by andreasbuhr)

  • GitHub repo C-Coroutines

    Coroutines for C.

  • GitHub repo drdestructo2

    Repository for Return of Dr. Destructo, a remake of "Island of Dr. Destructo"

  • GitHub repo asyncly

    C++ concurrent programming library

  • GitHub repo coproto

    A protocol framework based on coroutines

  • GitHub repo Flow

    Flow is a software framework focused on ease of use while maximizing performance in closed closed loop systems (e.g. robots). Flow is built on top of C++ 20 coroutines and utilizes modern C++ techniques. (by ManuelMeraz)

  • GitHub repo hardglitch

    JS project led by Klaim in HomeTeamGameDev, May 17 - Oct 11, 2020

  • GitHub repo Web

    Old experimental web server using fibers, io completion ports, and some early C++11 features. (by TheThief)

  • GitHub repo coro-chat

    Playing with the C++17 Coroutines TS to implement a simple chat server

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better cppcoro alternative or higher similarity.


Posts where cppcoro has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-06-16.
  • Cum funcționează corutinele în C++ "behind the scenes"
  • How to create callbacks with std::async?
    This sounds like a perfect job for C++20 coroutines. Check out cppcoro
  • C++20 coroutines seem baffling
    reddit.com/r/cpp | 2021-06-03
    The problem is that they really need some more infrastructure than the language provides before they're usable. cppcoro provides a pretty usable interface to coroutines which makes a lot more sense than the raw facilities c++20 has.
  • "My tutorial and take on C++20 coroutines" - David Mazières
    reddit.com/r/cpp | 2021-02-22
    If you want to understand why all the customisation points are there, Lewis Baker explains it really well. If you just want to use them there’s Cppcoro which is very user-friendly. But I agree, when I first saw coroutines I thought ‘what is this abomination’.
  • David Mazieres' tutorial and take on C++20 coroutines
    news.ycombinator.com | 2021-02-22
    Some notes:

    - C++20 coroutines are stackless, meaning that multiple coroutines will share a single OS thread stack. This is non-obvious when you first learn about them because they look just like functions. All your local function (coroutine) variables are captured and allocated as part of the coroutine context for you.

    - C++20 coroutine functions are just ordinary functions, and can be called from C code. In fact, coroutine contexts can be cast to and from void* to enable great integration with C.

    - There's currently no utility in the C++20 standard library for using C++20 coroutines to defer work. std::future<> only works on threaded code, and you can't easily use std::function. See Lewis Bakers 'task' class for a usable mechanism https://github.com/lewissbaker/cppcoro#taskt

    news.ycombinator.com | 2021-02-22
    You are meant to use a library like cppcoro https://github.com/lewissbaker/cppcoro rather than building all this on your own.

    But for folks working on gamedev libs, high-performance async, etc would probably prefer making their own task/promise-type for hand-crafted customization.

  • [C++20][unconstexpr] variant_generator: coroutine generator that produce a variant from the co_yield and co_return expressions
    reddit.com/r/cpp | 2021-02-15
    cppcoro is a well trodden coroutine library and offers a generator.
  • Do people have some motivating examples for co-routines?
    reddit.com/r/cpp | 2021-01-25
    I used cppcoro to build this library (still working on it).
  • Certainty and timeframe of std::generator?
    reddit.com/r/cpp | 2021-01-08