Index: swap.html =================================================================== --- swap.html (revision 46977) +++ swap.html (working copy) @@ -26,6 +26,10 @@

The alternative to using argument dependent lookup in this situation is to provide a template specialization of std::swap for every type that requires a specialized swap. Although this is legal C++, no boost libraries use this method, whereas many boost libraries provide specialized swap functions in their own namespaces.

+

+ boost::swap also supports swapping built-in arrays. Note that std::swap doesn't yet do so, but a request to add an overload of std::swap for built-in arrays has been well received by the Library Working Group of the C++ Standards Committee: LWG issue 809. std::swap should be overloaded for array types + boost::swap is no-throw for arrays whose element type has a no-throw swap. However, if the swap function of the element type provides the strong guarantee, then boost::swap only provides the basic guarantee, for arrays of size > 1. +

Requirements

@@ -42,6 +46,10 @@ +

Or:

+ @@ -56,6 +64,9 @@
  • Steven Wanatabe - for the idea to use a barrier namespaces, enabling the function to have the name 'swap' without introducing ambiguity or infinite recursion.
  • +
  • + Niels Dekker - for adding support for built-in arrays +
  • Joseph Gauterin - for the initial idea, final implementation, tests, and documentation.
  • @@ -63,7 +74,7 @@
    -

    Revised: 3rd October 2007

    +

    Revised: 29 June 2008

    Copyright 2007 Joseph Gauterin. Use, modification, and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)