Boost logo

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