[thread] Move semantics emulation in boost namespace?

Hi, In a recent build error thread I saw that new thread library's emulated move semantics were placed in boost namespace. I think this hasn't been discussed in the list and I'm afraid this can be problematic if other libraries go the same route. I've used my own move-emulation version in Boost.Interprocess under boost::interprocess namespace. I would really like to switch to the boost namespace version (supposing it's the official or pseudo-official move semantics emulation code) but newly added move emulation from thread is in boost/thread/detail and that suggests it's an implementation detail. Is there any chance to move that code to boost root so that I can start also using this or we should wait until a move emulation library is accepted? Regards, Ion

Ion Gaztañaga <igaztanaga@gmail.com> writes:
In a recent build error thread I saw that new thread library's emulated move semantics were placed in boost namespace. I think this hasn't been discussed in the list and I'm afraid this can be problematic if other libraries go the same route.
Agreed there. It should be in detail for now.
I've used my own move-emulation version in Boost.Interprocess under boost::interprocess namespace. I would really like to switch to the boost namespace version (supposing it's the official or pseudo-official move semantics emulation code) but newly added move emulation from thread is in boost/thread/detail and that suggests it's an implementation detail.
Is there any chance to move that code to boost root so that I can start also using this or we should wait until a move emulation library is accepted?
Can I propose boost/thread/detail/move.hpp for review as the basis for boost-wide move emulation? Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Anthony Williams escribió:
I've used my own move-emulation version in Boost.Interprocess under boost::interprocess namespace. I would really like to switch to the boost namespace version (supposing it's the official or pseudo-official move semantics emulation code) but newly added move emulation from thread is in boost/thread/detail and that suggests it's an implementation detail.
Is there any chance to move that code to boost root so that I can start also using this or we should wait until a move emulation library is accepted?
Can I propose boost/thread/detail/move.hpp for review as the basis for boost-wide move emulation?
Of course. There is another implementation written by Eric Friedman in sandbox: http://svn.boost.org/trac/boost/browser/sandbox/boost/move/move.hpp http://svn.boost.org/trac/boost/browser/sandbox/boost/move/moveable.hpp David Abrahams was also developing a move-emulation library. Unfortunately, I haven't heard anything about it recently.
Anthony
Regards, Ion

On 10/25/07, Ion Gaztañaga <igaztanaga@gmail.com> wrote:
Anthony Williams escribió:
I've used my own move-emulation version in Boost.Interprocess under boost::interprocess namespace. I would really like to switch to the boost namespace version (supposing it's the official or pseudo-official move semantics emulation code) but newly added move emulation from thread is in boost/thread/detail and that suggests it's an implementation detail.
Is there any chance to move that code to boost root so that I can start also using this or we should wait until a move emulation library is accepted?
Can I propose boost/thread/detail/move.hpp for review as the basis for boost-wide move emulation?
Of course. There is another implementation written by Eric Friedman in sandbox:
http://svn.boost.org/trac/boost/browser/sandbox/boost/move/move.hpp http://svn.boost.org/trac/boost/browser/sandbox/boost/move/moveable.hpp
David Abrahams was also developing a move-emulation library. Unfortunately, I haven't heard anything about it recently.
Anthony
Regards,
Ion
See also: http://opensource.adobe.com/group__move__related.html

Actually, there is no move emulation in Boost.Variant. It has that appearance though because it was written with move semantics in mind, i.e., there are hooks there to take advantage of (no-throw) moving should it become available. The code in the sandbox that Ion mentioned was my (aborted) attempt to provide emulation. Compared to my implementation, I think what Dave Abrahams has implemented (http://boost.cvs.sourceforge.net/boost-sandbox/boost-sandbox/boost/move.hpp) is better. I don't know how it compares to the implementation in the new threads library, though. Eric P.S. Does anyone know why is it that my changes appear in SVN and not Dave's? When were the contents imported from CVS at Sourceforge? On 10/26/07, Mathias Gaunard <mathias.gaunard@etu.u-bordeaux1.fr> wrote:
Anthony Williams wrote:
Can I propose boost/thread/detail/move.hpp for review as the basis for boost-wide move emulation?
I think there is also some move emulation done in boost.variant.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (5)
-
Anthony Williams
-
Eric Friedman
-
Ion Gaztañaga
-
Mat Marcus
-
Mathias Gaunard