On Wed, Jan 16, 2013 at 11:14 PM, Vicente J. Botet Escriba <vicente.botet@wanadoo.fr> wrote:
Le 17/01/13 03:34, Jeffrey Lee Hellrung, Jr. a écrit :
On Wed, Jan 16, 2013 at 10:06 AM, Vicente J. Botet Escriba <vicente.botet@wanadoo.fr> wrote:You misunderstood my concern. Boost.Move has no specific limitations with respect to Boost.Thread. Boost.Thread internal(old) emulation has more troubles than the one provided by Boost.Move.
Le 16/01/13 18:38, Jeffrey Lee Hellrung, Jr. a écrit :
On Wed, Jan 16, 2013 at 1:27 AM, Igor R <boost.lists@gmail.com> wrote:Boost.Thread make use of Boost.Move when BOOST_THREAD_USES_MOVE is defined and can be used with Boost.Container or any standard c++ container. The problem is that it doesn't provides both emulations at once.
>> I forgot to mention, but the above code compiles under MSVC10 and iOS
>> gcc toolchain...
>
>
> ...which have rvalue references?
Yes, you're right, it turns out that while the above compilers have
c++11 enabled by default, in ndk gcc4.7 it's disabled by default...
One suggestion: lobby for Boost.Thread to adopt Boost.Move rather than its own internal move emulation machinery (or, better yet, supply a patch!), and additionally use the Boost.Container data structures, which are Boost.Move-aware AFAIK.
Remind me what the limitation of Boost.Move's emulation are wrt Boost.Thread, and how Boost.Thread's internal emulation avoids that limitation?
I forgot to tell that BOOST_THREAD_USES_MOVE is defined by default when BOOST_THREAD_VERSION >= 3. As the default version has not been changed to version 3 in 1.53 as planned BOOST_THREAD_USES_MOVE is still not defined.
I'm all for defining BOOST_THREAD_USES_MOVE even for version 2, but this will changes the interface.
Comments of those that were against moving to version 3.