diff --git a/include/boost/thread/future.hpp b/include/boost/thread/future.hpp index bd4f3d1e..02450df5 100644 --- a/include/boost/thread/future.hpp +++ b/include/boost/thread/future.hpp @@ -856,6 +856,14 @@ namespace boost { return *static_cast* >(this); } + ::boost::rv& move() + { + return *static_cast< ::boost::rv* >(this); + } + const ::boost::rv& move() const + { + return *static_cast* >(this); + } #else BOOST_THREAD_FUTURE(boost::detail::thread_move_t other): future_(other->future_) @@ -874,6 +882,10 @@ namespace boost { return boost::detail::thread_move_t(*this); } + boost::detail::thread_move_t move() + { + return boost::detail::thread_move_t(*this); + } #endif #endif @@ -1066,6 +1078,14 @@ namespace boost { return *static_cast* >(this); } + ::boost::rv& move() + { + return *static_cast< ::boost::rv* >(this); + } + const ::boost::rv& move() const + { + return *static_cast* >(this); + } #else @@ -1097,6 +1117,10 @@ namespace boost { return boost::detail::thread_move_t(*this); } + boost::detail::thread_move_t move() + { + return boost::detail::thread_move_t(*this); + } #endif #endif @@ -1302,6 +1326,14 @@ namespace boost { return *static_cast* >(this); } + ::boost::rv& move() + { + return *static_cast< ::boost::rv* >(this); + } + const ::boost::rv& move() const + { + return *static_cast* >(this); + } #else promise(boost::detail::thread_move_t rhs): future_(rhs->future_),future_obtained(rhs->future_obtained) @@ -1477,6 +1509,14 @@ namespace boost { return *static_cast* >(this); } + ::boost::rv& move() + { + return *static_cast< ::boost::rv* >(this); + } + const ::boost::rv& move() const + { + return *static_cast* >(this); + } #else promise(boost::detail::thread_move_t rhs): future_(rhs->future_),future_obtained(rhs->future_obtained) @@ -1497,6 +1537,10 @@ namespace boost { return boost::detail::thread_move_t(*this); } + boost::detail::thread_move_t move() + { + return boost::detail::thread_move_t(*this); + } #endif #endif @@ -1781,6 +1825,14 @@ namespace boost { return *static_cast* >(this); } + ::boost::rv& move() + { + return *static_cast< ::boost::rv* >(this); + } + const ::boost::rv& move() const + { + return *static_cast* >(this); + } #else packaged_task(boost::detail::thread_move_t other): future_obtained(other->future_obtained) @@ -1798,6 +1850,10 @@ namespace boost { return boost::detail::thread_move_t(*this); } + boost::detail::thread_move_t move() + { + return boost::detail::thread_move_t(*this); + } #endif #endif