2017-01-18 2:20 GMT+01:00 Gregory Laird <glaird@northgatebowl.com>:
--------------- Forwarded message (begin)

Subject: Boost coroutine/context libraries
From: Gregory Laird <glaird@northgatebowl.com>
Date: Tue, 17 Jan 2017 17:10:57 -0800
Newsgroup: gmane.comp.lib.boost.user

I am trying to write a cooperative task scheduler in c++ and I have
discovered the boost context and coroutine libraries.  I have written these
sorts of schedulers many times in assembly language so I appreciate the
issues in the methodology.  I have written lots of c code but am less versed
in c++.

I have been trying to find some straightforward examples of the libraries
use without a lot of extraneous c++ language elements (e.g. binds, lambdas,
etc.).  I did find one example

http://stackoverflow.com/questions/11716291/boost-context-class

that is very nice, but it will not compile now with the current boost
library.  I get an error saying that boost::context::fcontext_t has been
removed from the public api.

Could someone direct me to some examples that demonstrate the context or
coroutine functionality that would be easier to understand.

I want to write a scheduler that is very similar to the example listed above
where coroutines yeild back to a main caller which then chooses the next
coroutine to continue its processing.

- I would use boost.context instead of boost.coroutine(2) for implementing a scheduler
- boost.context contains an directory ('example') which does contains not too complicated C++ code