2014/1/22 Vicente J. Botet Escriba
Right. Boost.Thread provides only a variadic version for copyables and doesn't support movable types in C++03 for the variadic version, but provides a constructor from a callable movable or copyable.
template <class F> explicit thread(F f , typename disable_if_c< boost::thread_detail::is_convertible
::value , dummy* >::type=0 ); template <class F> explicit thread(BOOST_THREAD_RV_REF(F) f , typename disable_if , dummy* >::type=0 ); As I said, implementing perfect forwarding is not possible in C++03 (See Boost.Move documentation).
OK - you did refer to the thread-function in your previous comments. I was wondering how it would be possible to support moveable-only arguments for the ctor (especially wit ha mix of copyable and moveable-only arguments).