
Joseph Gauterin wrote:
Niels, I've taken a look at your patch, and it looks good.
Thanks :-)
There's an exception safety issue that I think is worth mentioning in the documentation: If the underlying swap function used is no-throw then boost::swap is no-throw, but if the underlying swap function provides the strong guarantee, then boost::swap only provides the basic guarantee for arrays of size > 1.
Good point! I'll add your note: https://svn.boost.org/trac/boost/attachment/ticket/2056/array_support_for_sa...
As for putting it on the trunk - it completely slipped my mind. I'm happy for boost::swap to move to the trunk - what kind of review process does it need to go through? Given that the new version is only 51 lines, a full review seems like overkill.
David already tried to move it to the trunk, as you may have read at <https://svn.boost.org/trac/boost/ticket/2056>: "I tried to move the sandbox and apply these patches, but the sandbox is at least missing something to link the documentation into the rest of the Boost docs, a Jamfile for testing, and an editorial pass over the docs (at least one glaringly incomplete sentence)." I guess Dave has overlooked https://svn.boost.org/svn/boost/sandbox/swap/libs/utility/swap/test/Jamfile.... (Right?) Certainly I did, because I haven't yet put my "swap_array.cpp" test in there. An editorial pass wouldn't harm: I spotted a few typo's at http://svn.boost.org/svn/boost/sandbox/swap/libs/utility/swap.html ("constuction", "guarentee"). I still think it would be nice to add a literature reference to the doc. I would suggest adding a reference to Scott Meyers, Effective C++ Third Edition, Item 25: "Consider support for a non-throwing swap". Do you know how to link the documentation into the rest of the Boost docs? Kind regards, Niels