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

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::

>> 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.


View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at