This patch adds move semantics and the features from N2351. I believe this brings GCC's shared_ptr in line with the latest C++ working paper. New tests and docs on the implementation choices are included. There are a few places where further work could be done, see the new HTML file for details. That doc is also available at http://www.kayari.org/doc/c++/shared_ptr.html to save you reading the HTML. I haven't linked to the new doc from any existing pages yet as the C++0x status is still experimental and I don't know where these sort of implementation notes will fit in Benjamin's new doc plan. 2007-11-13 Jonathan Wakely <...> * include/tr1_impl/boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references. * docs/html/20_util/shared_ptr.html: New. * testsuite/tr1/2_general_utilities/shared_ptr/cons/alias.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/cons/alloc.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/cons/move.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/assign/move.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/creation/alloc.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/creation/make.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/ reset_alloc.cc: New. Tested x86_64/linux, OK for mainline? Jon