Subject: Re: [boost] [Thread] Non-copyable boost::thread
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2010-05-17 11:49:29
----- Original Message -----
From: "Belcourt, Kenneth" <kbelco_at_[hidden]>
Sent: Monday, May 17, 2010 5:41 PM
Subject: Re: [boost] [Boost][Thread] Non-copyable boost::thread
> On May 17, 2010, at 2:25 AM, Anthony Williams wrote:
>> "Belcourt, Kenneth" <kbelco_at_[hidden]> writes:
>>> Intel-11.1 on Darwin is a recent compiler that will not compile this
>>> [ from libs/thread/test/test_thread_return_local.cpp ]
>>> boost::thread make_thread_return_local(boost::thread::id* the_id)
>>> boost::thread t(do_nothing,the_id);
>>> return t;
>>> The same error message is generated in both debug and release builds
>>> on Darwin (though strangely it doesn't appear to be an error with
>>> Intel 11.1 on Linux).
>>> ../libs/thread/test/test_thread_return_local.cpp(16): error #373:
>>> "boost::thread::thread(boost::thread &)" (declared at line 111 of
>>> boost/thread/detail/thread.hpp") is inaccessible
>>> return t;
>>> Any ideas how to work around this failure?
>> Explicitly move the return value:
>> return std::move(t);
>> or even
>> return std::thread(std::move(t));
> Yup, that's what I figured. But this compiler doesn't have std::move().
> test_thread_return_local.cpp(17): error: namespace "std" has no member
> return std::move(t);
> Any other ideas on how to get these Darwin / Intel tests running
> Anthony? Would the Boost.Move library currently under review work here?
If you are using Boost.Thread as I suspect, try
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk