|
Boost-Commit : |
From: joseph.gauterin_at_[hidden]
Date: 2008-08-04 14:22:10
Author: joseph.gauterin
Date: 2008-08-04 14:22:10 EDT (Mon, 04 Aug 2008)
New Revision: 47972
URL: http://svn.boost.org/trac/boost/changeset/47972
Log:
Renamed 'test_adl_barrier.cpp' to 'no_ambiguity_in_boost.cpp' and altered comments to reflect new disambiguation technique.
Added:
trunk/libs/utility/swap/test/no_ambiguity_in_boost.cpp
- copied, changed from r47966, /trunk/libs/utility/swap/test/test_adl_barrier.cpp
Removed:
trunk/libs/utility/swap/test/test_adl_barrier.cpp
Text files modified:
trunk/libs/utility/swap/test/Jamfile.v2 | 2 +-
trunk/libs/utility/swap/test/no_ambiguity_in_boost.cpp | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
Modified: trunk/libs/utility/swap/test/Jamfile.v2
==============================================================================
--- trunk/libs/utility/swap/test/Jamfile.v2 (original)
+++ trunk/libs/utility/swap/test/Jamfile.v2 2008-08-04 14:22:10 EDT (Mon, 04 Aug 2008)
@@ -28,6 +28,6 @@
[ run std_vector_of_boost.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
[ run std_vector_of_global.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
[ run std_vector_of_other.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
- [ run test_adl_barrier.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
+ [ run no_ambiguity_in_boost.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
[ run swap_arrays.cpp ../../../test/build//boost_test_exec_monitor/<link>static ]
;
Copied: trunk/libs/utility/swap/test/no_ambiguity_in_boost.cpp (from r47966, /trunk/libs/utility/swap/test/test_adl_barrier.cpp)
==============================================================================
--- /trunk/libs/utility/swap/test/test_adl_barrier.cpp (original)
+++ trunk/libs/utility/swap/test/no_ambiguity_in_boost.cpp 2008-08-04 14:22:10 EDT (Mon, 04 Aug 2008)
@@ -7,9 +7,10 @@
// boost::swap internally does an unqualified function call to swap.
// This could have led to ambiguity or infinite recursion, when the
// objects to be swapped would themselves be from the boost namespace.
-// If so, boost::swap itself might be found by argument dependent lookup
-// (ADL). The implementation of boost::swap resolves this issue by
-// using a barrier namespace. The following test checks this "ADL barrier".
+// If so, boost::swap itself might be found by argument dependent lookup.
+// The implementation of boost::swap resolves this issue by giving
+// boost::swap two template argumetns, thereby making it less specialized
+// than std::swap.
#include <boost/utility/swap.hpp>
#define BOOST_INCLUDE_MAIN
Deleted: trunk/libs/utility/swap/test/test_adl_barrier.cpp
==============================================================================
--- trunk/libs/utility/swap/test/test_adl_barrier.cpp 2008-08-04 14:22:10 EDT (Mon, 04 Aug 2008)
+++ (empty file)
@@ -1,36 +0,0 @@
-// Copyright (c) 2008 Joseph Gauterin, Niels Dekker
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// boost::swap internally does an unqualified function call to swap.
-// This could have led to ambiguity or infinite recursion, when the
-// objects to be swapped would themselves be from the boost namespace.
-// If so, boost::swap itself might be found by argument dependent lookup
-// (ADL). The implementation of boost::swap resolves this issue by
-// using a barrier namespace. The following test checks this "ADL barrier".
-
-#include <boost/utility/swap.hpp>
-#define BOOST_INCLUDE_MAIN
-#include <boost/test/test_tools.hpp>
-
-//Put test class in namespace boost
-namespace boost
-{
- #include "./swap_test_class.hpp"
-}
-
-
-int test_main(int, char*[])
-{
- boost::swap_test_class object1;
- boost::swap_test_class object2;
- boost::swap(object1,object2);
-
- BOOST_CHECK_EQUAL(boost::swap_test_class::swap_count(),0);
- BOOST_CHECK_EQUAL(boost::swap_test_class::copy_count(),3);
-
- return 0;
-}
-
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk