21 Jun
2015
21 Jun
'15
10:53 a.m.
2015-06-21 12:19 GMT+02:00 Aaron Levy
Are boost::coroutines::symmetric_coroutine<> and boost::coroutines::asymmetric_coroutine<> part of the coroutine library or coroutine2 library. Besides being C++14-only, in what ways does coroutine2 differ from coroutine?
Coroutine2 provides only boost::coroutines2::asymmetric_coroutine<> (boost::coroutines2::coroutine<> is a typedef of the previous one). Symmetric_coroutine<> (introduced for boost.fiber) is not implemented because its functionality/semantic is better represented by class boost::context::execution_context (part of boost.context). Class execution_context is used as building block (implementation) of boost::coroutines2::asymmetric_coroutine<> - the code becomes cleaner.