A while back, I wrote about cooperative threading libraries for C++. Coroutines are a closely related concept—coroutines and cooperative threads can be expressed/implemented in terms of each other.

Conspicuously absent from that coverage is Boost.Coroutine, which I’ll discuss here. The problem with Boost.Coroutine is that it was incomplete, and—last I checked—far from complete. I had spent some time trying to work with the author through its non-starter issues, as I was looking forward to using it in conjunction with Boost.Asio (this was one of Boost.Coroutine’s primary objectives), but the author has not had the time to take his work to the Boost formal review stage.

Follow me on Twitter for stuff far more interesting than what I blog.

  • Frederik

    In what way is Boost.Coroutine incomplete?

  • yaaang

    When I last tried it, there were bugs, and the system was very much a work in progress. Also, the documentation was out of sync and incomplete. Over the years, I've pinged Giovanni on occasion to see if this library has made any headway, but he's been busy with “real work” (as am I).

  • Is there an update about Boost.Coroutine? Does the author work on it? This might be a helpful thing if it will be done.

  • yaaang

    I just emailed the author today to check what his status is. His response suggests that he's not planning on continuing work on it anytime soon and would be happy to see the project carried forward by others: “Hi Yang, I've changed work and I have less time than before :). If you or someone else wants to work on it, feel free to do it of course! I would be glad if it the library were to be completed!”

  • couldn't agree more. Boost.Coroutine is really incomplete, though I can see it's a great project and needs some more work on it.

  • I can see it’s a great project

  • Eugene

    Did anyone have worked link to download Boost.Coroutines lib?

  • It’s pretty old by now:

  • I have been looking for an update, but can’t seem to locate such, which is sad, cause I use Boost.Coroutines a lot!

  • Eugene

    Boost.Context looks promising