Boost logo

Boost :

Subject: Re: [boost] Boost.Thread and Boost.Move collision
From: Vicente Botet (vicente.botet_at_[hidden])
Date: 2011-12-01 11:32:42


Mathias Gaunard-2 wrote
>
> On 12/01/2011 12:34 PM, Ion Gaztañaga wrote:
>
>> I guess there is no trivial solution for this. Options:
>>
>> 1) Move Boost.Move elements to boost::move:: namespace
>
> I advise against this solution.
> It would break compatibility for Boost.Move users.
>
Boost.Thread was using boost::move since a long time as there was no thread
namespace.

When Boost.Move was introduced in Trunk, Boost.Thread should be adapted to
use Boost.Move, but this was not done. Too late.

>> 2) Move Boost.Thread elements to boost::thread namespace
>
> That should be fine. Assuming the move emulation of boost thread is an
> implementation detail, this doesn't affect users at all.
>

The problem is that this is part of the interface and not an implementation
detail. What I purpose for the short term (1.49) is to let the user to
choose the namespace for the move function (by default Boost.Thread will use
boost::), and the user could state that it should use boost::thread::
instead.

>> 3) Modify Boost.Thread to make use of Boost.Move
>
> That would be good, but could take more time to do than 2).
>

There are a lot of uses of move semantics in Boost.Thread and this will
surely take some time. I don't know yet if it will be possible to provide
both move semantic emulations at once without breaking the interface. I
suspect that a version 2 for Boost.Thread seems necessary.

Given the number of tickets related to move semantics, it seems that this
last option is the long term option.

Best,
Vicente

--
View this message in context: http://boost.2283326.n4.nabble.com/Boost-Thread-and-Boost-Move-collision-tp4127995p4129268.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk