Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r81385 - in trunk: boost/unordered/detail libs/unordered/doc libs/unordered/test/unordered
From: dnljms_at_[hidden]
Date: 2012-11-17 05:30:20


Author: danieljames
Date: 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
New Revision: 81385
URL: http://svn.boost.org/trac/boost/changeset/81385

Log:
Unordered: Remove the deprecated equality implementation.
Removed:
   trunk/libs/unordered/test/unordered/equality_deprecated.cpp
Text files modified:
   trunk/boost/unordered/detail/equivalent.hpp | 22 ----------------------
   trunk/boost/unordered/detail/extract_key.hpp | 10 ----------
   trunk/boost/unordered/detail/table.hpp | 12 ++++++++++++
   trunk/boost/unordered/detail/unique.hpp | 5 -----
   trunk/libs/unordered/doc/changes.qbk | 3 ++-
   trunk/libs/unordered/doc/ref.php | 8 ++------
   trunk/libs/unordered/doc/ref.xml | 32 ++++++++------------------------
   trunk/libs/unordered/test/unordered/Jamfile.v2 | 1 -
   8 files changed, 24 insertions(+), 69 deletions(-)

Modified: trunk/boost/unordered/detail/equivalent.hpp
==============================================================================
--- trunk/boost/unordered/detail/equivalent.hpp (original)
+++ trunk/boost/unordered/detail/equivalent.hpp 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -302,8 +302,6 @@
             return true;
         }
 
-#if !defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
-
         static bool group_equals(iterator n1, iterator end1,
                 iterator n2, iterator end2)
         {
@@ -364,26 +362,6 @@
             return count;
         }
 
-#else
-
- static bool group_equals(iterator n1, iterator end1,
- iterator n2, iterator end2)
- {
- for(;;)
- {
- if(!extractor::compare_mapped(*n1, *n2))
- return false;
-
- ++n1;
- ++n2;
-
- if (n1 == end1) return n2 == end2;
- if (n2 == end2) return false;
- }
- }
-
-#endif
-
         // Emplace/Insert
 
         static inline void add_after_node(

Modified: trunk/boost/unordered/detail/extract_key.hpp
==============================================================================
--- trunk/boost/unordered/detail/extract_key.hpp (original)
+++ trunk/boost/unordered/detail/extract_key.hpp 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -75,11 +75,6 @@
             return no_key();
         }
 #endif
-
- static bool compare_mapped(value_type const&, value_type const&)
- {
- return true;
- }
     };
 
     template <class Key, class ValueType>
@@ -182,11 +177,6 @@
 #if !defined(BOOST_NO_CXX11_HDR_TUPLE)
 BOOST_UNORDERED_KEY_FROM_TUPLE(std::)
 #endif
-
- static bool compare_mapped(value_type const& x, value_type const& y)
- {
- return x.second == y.second;
- }
     };
 }}}
 

Modified: trunk/boost/unordered/detail/table.hpp
==============================================================================
--- trunk/boost/unordered/detail/table.hpp (original)
+++ trunk/boost/unordered/detail/table.hpp 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -18,6 +18,18 @@
 #pragma warning(disable:4127) // conditional expression is constant
 #endif
 
+#if defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
+
+#if defined(__EDG__)
+#elif defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
+#pragma message("Warning: BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported.")
+#elif defined(__GNUC__) || defined(__HP_aCC) || \
+ defined(__SUNPRO_CC) || defined(__IBMCPP__)
+#warning "BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported."
+#endif
+
+#endif
+
 namespace boost { namespace unordered { namespace detail {
 
     ////////////////////////////////////////////////////////////////////////////

Modified: trunk/boost/unordered/detail/unique.hpp
==============================================================================
--- trunk/boost/unordered/detail/unique.hpp (original)
+++ trunk/boost/unordered/detail/unique.hpp 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -290,13 +290,8 @@
             {
                 iterator n2 = other.find_matching_node(n1);
 
-#if !defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
                 if (!n2.node_ || *n1 != *n2)
                     return false;
-#else
- if (!n2.node_ || !extractor::compare_mapped(*n1, *n2))
- return false;
-#endif
             }
     
             return true;

Modified: trunk/libs/unordered/doc/changes.qbk
==============================================================================
--- trunk/libs/unordered/doc/changes.qbk (original)
+++ trunk/libs/unordered/doc/changes.qbk 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -222,6 +222,7 @@
 
 [h2 Boost 1.53.0]
 
-* Remove support for the old pre-standard variadic pair constructors.
+* Remove support for the old pre-standard variadic pair constructors, and
+ equality implementation. Both have been deprecated since Boost 1.48.
 
 [endsect]

Modified: trunk/libs/unordered/doc/ref.php
==============================================================================
--- trunk/libs/unordered/doc/ref.php (original)
+++ trunk/libs/unordered/doc/ref.php 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -1106,9 +1106,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -1149,9 +1147,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>

Modified: trunk/libs/unordered/doc/ref.xml
==============================================================================
--- trunk/libs/unordered/doc/ref.xml (original)
+++ trunk/libs/unordered/doc/ref.xml 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -962,9 +962,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -997,9 +995,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -1998,9 +1994,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -2033,9 +2027,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -3084,9 +3076,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -3121,9 +3111,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -4136,9 +4124,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>
@@ -4173,9 +4159,7 @@
               </description>
               <notes>
                 <para>The behavior of this function was changed to match
- the C++11 standard in Boost 1.48. If you wish to use
- the old behaviour, define the macro
- <code>BOOST_UNORDERED_DEPRECATED_EQUALITY</code>.</para>
+ the C++11 standard in Boost 1.48.</para>
                 <para>Behavior is undefined if the two containers don't have
                     equivalent equality predicates.</para>
               </notes>

Modified: trunk/libs/unordered/test/unordered/Jamfile.v2
==============================================================================
--- trunk/libs/unordered/test/unordered/Jamfile.v2 (original)
+++ trunk/libs/unordered/test/unordered/Jamfile.v2 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
@@ -44,7 +44,6 @@
         [ run load_factor_tests.cpp ]
         [ run rehash_tests.cpp ]
         [ run equality_tests.cpp ]
- [ run equality_deprecated.cpp ]
         [ run swap_tests.cpp ]
 
         [ run compile_set.cpp : :

Deleted: trunk/libs/unordered/test/unordered/equality_deprecated.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/equality_deprecated.cpp 2012-11-17 05:30:19 EST (Sat, 17 Nov 2012)
+++ (empty file)
@@ -1,174 +0,0 @@
-
-// Copyright 2008-2009 Daniel James.
-// 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)
-
-#define BOOST_UNORDERED_DEPRECATED_EQUALITY
-
-#include "../helpers/prefix.hpp"
-#include <boost/unordered_set.hpp>
-#include <boost/unordered_map.hpp>
-#include "../helpers/postfix.hpp"
-
-#include <boost/preprocessor/seq.hpp>
-#include <list>
-#include "../helpers/test.hpp"
-
-namespace equality_tests
-{
- struct mod_compare
- {
- bool alt_hash_;
-
- explicit mod_compare(bool alt_hash = false) : alt_hash_(alt_hash) {}
-
- bool operator()(int x, int y) const
- {
- return x % 1000 == y % 1000;
- }
-
- int operator()(int x) const
- {
- return alt_hash_ ? x % 250 : (x + 5) % 250;
- }
- };
-
-#define UNORDERED_EQUALITY_SET_TEST(seq1, op, seq2) \
- { \
- boost::unordered_set<int, mod_compare, mod_compare> set1, set2; \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_SET_INSERT, set1, seq1) \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_SET_INSERT, set2, seq2) \
- BOOST_TEST(set1 op set2); \
- }
-
-#define UNORDERED_EQUALITY_MULTISET_TEST(seq1, op, seq2) \
- { \
- boost::unordered_multiset<int, mod_compare, mod_compare> \
- set1, set2; \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_SET_INSERT, set1, seq1) \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_SET_INSERT, set2, seq2) \
- BOOST_TEST(set1 op set2); \
- }
-
-#define UNORDERED_EQUALITY_MAP_TEST(seq1, op, seq2) \
- { \
- boost::unordered_map<int, int, mod_compare, mod_compare> \
- map1, map2; \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_MAP_INSERT, map1, seq1) \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_MAP_INSERT, map2, seq2) \
- BOOST_TEST(map1 op map2); \
- }
-
-#define UNORDERED_EQUALITY_MULTIMAP_TEST(seq1, op, seq2) \
- { \
- boost::unordered_multimap<int, int, mod_compare, mod_compare> \
- map1, map2; \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_MAP_INSERT, map1, seq1) \
- BOOST_PP_SEQ_FOR_EACH(UNORDERED_MAP_INSERT, map2, seq2) \
- BOOST_TEST(map1 op map2); \
- }
-
-#define UNORDERED_SET_INSERT(r, set, item) set.insert(item);
-#define UNORDERED_MAP_INSERT(r, map, item) \
- map.insert(std::pair<int const, int> BOOST_PP_SEQ_TO_TUPLE(item));
-
- UNORDERED_AUTO_TEST(equality_size_tests)
- {
- boost::unordered_set<int> x1, x2;
- BOOST_TEST(x1 == x2);
- BOOST_TEST(!(x1 != x2));
-
- x1.insert(1);
- BOOST_TEST(x1 != x2);
- BOOST_TEST(!(x1 == x2));
- BOOST_TEST(x2 != x1);
- BOOST_TEST(!(x2 == x1));
-
- x2.insert(1);
- BOOST_TEST(x1 == x2);
- BOOST_TEST(!(x1 != x2));
-
- x2.insert(2);
- BOOST_TEST(x1 != x2);
- BOOST_TEST(!(x1 == x2));
- BOOST_TEST(x2 != x1);
- BOOST_TEST(!(x2 == x1));
- }
-
- UNORDERED_AUTO_TEST(equality_key_value_tests)
- {
- UNORDERED_EQUALITY_MULTISET_TEST((1), !=, (2))
- UNORDERED_EQUALITY_SET_TEST((2), ==, (2))
- UNORDERED_EQUALITY_MAP_TEST(((1)(1))((2)(1)), !=, ((1)(1))((3)(1)))
- }
-
- UNORDERED_AUTO_TEST(equality_collision_test)
- {
- UNORDERED_EQUALITY_MULTISET_TEST(
- (1), !=, (501))
- UNORDERED_EQUALITY_MULTISET_TEST(
- (1)(251), !=, (1)(501))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((251)(1))((1)(1)), !=, ((501)(1))((1)(1)))
- UNORDERED_EQUALITY_MULTISET_TEST(
- (1)(501), ==, (1)(501))
- UNORDERED_EQUALITY_SET_TEST(
- (1)(501), ==, (501)(1))
- }
-
- UNORDERED_AUTO_TEST(equality_group_size_test)
- {
- UNORDERED_EQUALITY_MULTISET_TEST(
- (10)(20)(20), !=, (10)(10)(20))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((10)(1))((20)(1))((20)(1)), !=,
- ((10)(1))((20)(1))((10)(1)))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((20)(1))((10)(1))((10)(1)), ==,
- ((10)(1))((20)(1))((10)(1)))
- }
-
- UNORDERED_AUTO_TEST(equality_map_value_test)
- {
- UNORDERED_EQUALITY_MAP_TEST(
- ((1)(1)), !=, ((1)(2)))
- UNORDERED_EQUALITY_MAP_TEST(
- ((1)(1)), ==, ((1)(1)))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((1)(1)), !=, ((1)(2)))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((1)(1))((1)(1)), !=, ((1)(1))((1)(2)))
- UNORDERED_EQUALITY_MULTIMAP_TEST(
- ((1)(2))((1)(1)), !=, ((1)(1))((1)(2)))
- }
-
- UNORDERED_AUTO_TEST(equality_predicate_test)
- {
- UNORDERED_EQUALITY_SET_TEST(
- (1), ==, (1001))
- UNORDERED_EQUALITY_MAP_TEST(
- ((1)(2))((1001)(1)), ==, ((1001)(2))((1)(1)))
- }
-
- // Test that equality still works when the two containers have
- // different hash functions but the same equality predicate.
-
- UNORDERED_AUTO_TEST(equality_different_hash_test)
- {
- typedef boost::unordered_set<int, mod_compare, mod_compare> set;
- set set1(0, mod_compare(false), mod_compare(false));
- set set2(0, mod_compare(true), mod_compare(true));
- BOOST_TEST(set1 == set2);
- set1.insert(1); set2.insert(2);
- BOOST_TEST(set1 != set2);
- set1.insert(2); set2.insert(1);
- BOOST_TEST(set1 == set2);
- set1.insert(10); set2.insert(20);
- BOOST_TEST(set1 != set2);
- set1.insert(20); set2.insert(10);
- BOOST_TEST(set1 == set2);
- }
-
-}
-
-RUN_TESTS()


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