]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/unordered/test/unordered/insert_stable_tests.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / unordered / test / unordered / insert_stable_tests.cpp
index b4482764650f64e7ccca32c47b385d77639c065c..4ea6a84bdc6bd55f95942c4e72c337a9eaa19195 100644 (file)
@@ -3,32 +3,34 @@
 // 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)
 
+// clang-format off
 #include "../helpers/prefix.hpp"
 #include <boost/unordered_set.hpp>
 #include <boost/unordered_map.hpp>
 #include "../helpers/postfix.hpp"
+// clang-format on
 
 #include "../helpers/test.hpp"
 
-#include <iostream>
+namespace insert_stable {
+  struct member
+  {
+    int tag1_;
+    int tag2_;
 
-namespace insert_stable
-{
-    struct member {
-        int tag1_;
-        int tag2_;
-    
-        member() : tag1_(0), tag2_(0) {}
-        member(int t1, int t2) : tag1_(t1), tag2_(t2) {}
-    
-        friend bool operator==(member const& x, member const& y) {
-            return x.tag1_ == y.tag1_;
-        }
-    
-        friend bool operator!=(member const& x, member const& y) {
-            return x.tag1_ != y.tag1_;
-        }
-    };
+    member() : tag1_(0), tag2_(0) {}
+    member(int t1, int t2) : tag1_(t1), tag2_(t2) {}
+
+    friend bool operator==(member const& x, member const& y)
+    {
+      return x.tag1_ == y.tag1_;
+    }
+
+    friend bool operator!=(member const& x, member const& y)
+    {
+      return x.tag1_ != y.tag1_;
+    }
+  };
 }
 
 #ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
@@ -37,52 +39,79 @@ namespace boost
 namespace insert_stable
 #endif
 {
-    std::size_t hash_value(insert_stable::member const& x) {
-        return static_cast<std::size_t>(x.tag1_);
-    }
+  std::size_t hash_value(insert_stable::member const& x)
+  {
+    return static_cast<std::size_t>(x.tag1_);
+  }
 }
 
-UNORDERED_AUTO_TEST(stable_insert_test1) {
+// This is no longer supported, as there's no longer an efficient way to get to
+// the end of a group of equivalent nodes.
+#if 0
+
+UNORDERED_AUTO_TEST(stable_insert_test1)
+{
     boost::unordered_multiset<insert_stable::member> x;
 
-    x.insert(insert_stable::member(1,1));
-    x.insert(insert_stable::member(1,2));
-    x.insert(insert_stable::member(1,3));
+    x.insert(insert_stable::member(1, 1));
+    x.insert(insert_stable::member(1, 2));
+    x.insert(insert_stable::member(1, 3));
 
-    BOOST_TEST(x.count(insert_stable::member(1,4)) == 3);
+    BOOST_TEST(x.count(insert_stable::member(1, 4)) == 3);
 
     boost::unordered_multiset<insert_stable::member>::const_iterator
-        it = x.begin(), end = x.end();
+        it = x.begin(),
+        end = x.end();
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->tag2_ == 1); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->tag2_ == 1);
+        ++it;
+    }
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->tag2_ == 2); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->tag2_ == 2);
+        ++it;
+    }
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->tag2_ == 3); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->tag2_ == 3);
+        ++it;
+    }
     BOOST_TEST(it == end);
 }
 
-UNORDERED_AUTO_TEST(stable_insert_test2) {
+UNORDERED_AUTO_TEST(stable_insert_test2)
+{
     boost::unordered_multimap<insert_stable::member, int> x;
-    typedef
-        boost::unordered_multimap<insert_stable::member, int>::const_iterator
-        iterator;
+    typedef boost::unordered_multimap<insert_stable::member,
+        int>::const_iterator iterator;
 
-    iterator it = x.emplace(insert_stable::member(1,1), 1);
-    it = x.emplace(insert_stable::member(1,2), 2);
-    it = x.emplace(insert_stable::member(1,3), 3);
+    iterator it = x.emplace(insert_stable::member(1, 1), 1);
+    it = x.emplace(insert_stable::member(1, 2), 2);
+    it = x.emplace(insert_stable::member(1, 3), 3);
 
-    BOOST_TEST(x.count(insert_stable::member(1,4)) == 3);
+    BOOST_TEST(x.count(insert_stable::member(1, 4)) == 3);
 
     it = x.begin();
     iterator end = x.end();
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->first.tag2_ == 1 && it->second == 1); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->first.tag2_ == 1 && it->second == 1);
+        ++it;
+    }
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->first.tag2_ == 2 && it->second == 2); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->first.tag2_ == 2 && it->second == 2);
+        ++it;
+    }
     BOOST_TEST(it != end);
-    if(it != end) { BOOST_TEST(it->first.tag2_ == 3 && it->second == 3); ++it; }
+    if (it != end) {
+        BOOST_TEST(it->first.tag2_ == 3 && it->second == 3);
+        ++it;
+    }
     BOOST_TEST(it == end);
 }
 
+#endif
+
 RUN_TESTS()