Boost logo

Boost :

Subject: Re: [boost] [context/coroutine] split into two libs in trunk?!
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2012-04-12 04:57:35

Oliver Kowalke wrote
> Hi,
> unfortunetly Giovanni decided to discontinue its boost.coroutine library
> and I was ask be several members of the boost community to provide a
> coroutine implementation using boost.context.
> I've refactored class context from lib boost.context so that I can provide
> coroutine<> and generator<> (following Giovannis interface proposal) based
> on context now.

Hi Oliver,

What kind of changes have been needed to make it possible to implement
coroutine and generator?

> I'd like to split it into two libraries:
> - boost.context provides only context jumping facility (a.g. struct
> fcontext_t, start_fcontext()/jump_fcontext()/make_fcontext() and stack
> helper)
> - boost.coroutine contains coroutine<> and generator<>
> Might this be appropriate?

I see 3 valid alternatives here:
* You provide it as sub-library coroutine of context.
* You request for review a separated coroutine proposal.
* You rename your context library as cooperative/context and add the
cooperative/coroutine, cooperative/fiber, ..... This will need at least a
mini-mini review to change the goal, the name and the directory of the
library. This alternative would not prevent to request less formal review or
formal ones if you find it useful. I would prefer a change the top level
namespace to cooperative in this case.

The alternatives are in the reverse order of my preference.

I agree with Jeffrey that we need less top level libraries, and have
sub-libraries. For example Boost.Thread contains the review accepted
Boost.Futures. Is this clearer for the users?

I would like to have e.g. under the umbrella of Boost.Utility 'everything'
that 'every' programmer needs.

I don't know yet if Boost.Chrono will include or not a Stopwatch or a Date
(not a DateTime) sub-library but I think at least an informal review would
be needed to ensure the Boost quality. This will give the opportunity to
the Boost community to signal if a formal review will be more convenient.


View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at