[coroutine] Recommended documentation clarification
I just upgraded my local Boost installation from v1.54 to v1.55b1 and tried to compile one of my applications with the updated library. To my surprise, I found that all of my code that used Boost.Coroutine now failed to compile. After looking at the beta documentation, it seems that the coroutine class interface from v1.54 has been abruptly deprecated with essentially no explanation. Since I don't have time to rewrite all of my client code at this point, using the old interface is a must. After inspecting some of the Coroutine headers, I found that I could define BOOST_COROUTINE_V1 to get the old behavior, but there isn't any mention of this in the docs. It would probably be a more user-friendly change to make this change and workaround more clear in the documentation before the v1.55 release. Jason -- View this message in context: http://boost.2283326.n4.nabble.com/coroutine-Recommended-documentation-clari... Sent from the Boost - Dev mailing list archive at Nabble.com.
the old version has some bugs and is therefore not recommended. Porting the code to the new interface isn't difficult: coroutine< void( T) > -> coroutine< T >::push_type coroutine< T() > -> coroutine< T >::pull_type
On 10/24/2013 11:40 AM, Oliver Kowalke wrote:
the old version has some bugs and is therefore not recommended. Porting the code to the new interface isn't difficult: coroutine< void( T) > -> coroutine< T >::push_type coroutine< T() > -> coroutine< T >::pull_type
Also it looks like coroutine itself is now non-headeronly... is that the case? Any other changes? Jeff
the old version has some bugs and is therefore not recommended. Porting the code to the new interface isn't difficult: coroutine< void( T) > -> coroutine< T >::push_type coroutine< T() > -> coroutine< T >::pull_type That makes a bit more sense; I didn't grasp that immediately from the documentation. Should I take that to mean that a coroutine can no longer both take in an argument and return a value (i.e. either the argument
On 10/24/2013 11:40 AM, Oliver Kowalke wrote: list or return value must be void)? Jason
2013/10/30 Jason Roehm
On 10/24/2013 11:40 AM, Oliver Kowalke wrote:
the old version has some bugs and is therefore not recommended. Porting the code to the new interface isn't difficult: coroutine< void( T) > -> coroutine< T >::push_type coroutine< T() > -> coroutine< T >::pull_type
That makes a bit more sense; I didn't grasp that immediately from the documentation. Should I take that to mean that a coroutine can no longer both take in an argument and return a value (i.e. either the argument list or return value must be void)?
data are transferred only in one direction, e.g. the template arg of coroutine does not represent a signature but the type which is transferred from push- to pull-coroutine
participants (4)
-
Jason
-
Jason Roehm
-
Jeff Flinn
-
Oliver Kowalke