Subject: [Boost-bugs] [Boost C++ Libraries] #8672: future<>::then(void()) doesn't works
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-06-08 07:53:55
#8672: future<>::then(void()) doesn't works
--------------------------+----------------------
Reporter: viboes | Owner: anthonyw
Type: Bugs | Status: new
Milestone: Boost 1.54.0 | Component: thread
Version: Boost 1.53.0 | Severity: Problem
Keywords: |
--------------------------+----------------------
The following patch must be applied
{{{
Index: future.hpp
===================================================================
--- future.hpp (revision 84678)
+++ future.hpp (working copy)
@@ -3467,7 +3467,7 @@
Fp continuation;
public:
- explicit future_async_continuation_shared_state(
+ future_async_continuation_shared_state(
F& f, BOOST_THREAD_FWD_REF(Fp) c
) :
parent(f.future_),
@@ -3503,14 +3503,14 @@
template<typename F, typename Fp>
struct future_async_continuation_shared_state<F, void, Fp>: public
future_async_shared_state_base<void>
{
- F& parent;
+ F parent;
Fp continuation;
public:
- explicit future_async_continuation_shared_state(
+ future_async_continuation_shared_state(
F& f, BOOST_THREAD_FWD_REF(Fp) c
) :
- parent(f),
+ parent(f.future_),
//continuation(boost::forward<Fp>(c)
continuation(boost::move(c))
{
@@ -3549,14 +3549,14 @@
template<typename F, typename Rp, typename Fp>
struct future_deferred_continuation_shared_state: shared_state<Rp>
{
- F& parent;
+ F parent;
Fp continuation;
public:
- explicit future_deferred_continuation_shared_state(
+ future_deferred_continuation_shared_state(
F& f, BOOST_THREAD_FWD_REF(Fp) c
) :
- parent(f),
+ parent(f.future_),
//continuation(boost::forward<Fp>(c)
continuation(c)
{
@@ -3583,14 +3583,14 @@
template<typename F, typename Fp>
struct future_deferred_continuation_shared_state<F,void,Fp>:
shared_state<void>
{
- F& parent;
+ F parent;
Fp continuation;
public:
- explicit future_deferred_continuation_shared_state(
+ future_deferred_continuation_shared_state(
F& f, BOOST_THREAD_FWD_REF(Fp) c
):
- parent(f),
+ parent(f.future_),
continuation(boost::move(c))
{
this->set_deferred();
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8672> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC