]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/graph/detail/set_adaptor.hpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / boost / graph / detail / set_adaptor.hpp
index 33acc07e3a37324a70a7f99eca4a674ea25f728d..487d3be2fbe5d2806d07bdfe5f0920d3d615a21e 100644 (file)
 #include <set>
 #include <boost/unordered_set.hpp>
 
-namespace boost {
+namespace boost
+{
 
-    template <class K, class C, class A, class T>
-    bool set_contains(const std::set<K,C,A>& s, const T& x) {
-      return s.find(x) != s.end();
-    }
-    
-    template <class K, class H, class C, class A, class T>
-    bool set_contains(const boost::unordered_set<K,H,C,A>& s, const T& x) {
-      return s.find(x) != s.end();
-    }
-    
-    template <class K, class C, class A>
-    bool set_equal(const std::set<K,C,A>& x,
-                   const std::set<K,C,A>& y)
-    {
-      return x == y;
-    }
+template < class K, class C, class A, class T >
+bool set_contains(const std::set< K, C, A >& s, const T& x)
+{
+    return s.find(x) != s.end();
+}
+
+template < class K, class H, class C, class A, class T >
+bool set_contains(const boost::unordered_set< K, H, C, A >& s, const T& x)
+{
+    return s.find(x) != s.end();
+}
+
+template < class K, class C, class A >
+bool set_equal(const std::set< K, C, A >& x, const std::set< K, C, A >& y)
+{
+    return x == y;
+}
 
-    // Not the same as lexicographical_compare_3way applied to std::set.
-    // this is equivalent semantically to bitset::operator<()
-    template <class K, class C, class A>
-    int set_lex_order(const std::set<K,C,A>& x,
-                      const std::set<K,C,A>& y)
+// Not the same as lexicographical_compare_3way applied to std::set.
+// this is equivalent semantically to bitset::operator<()
+template < class K, class C, class A >
+int set_lex_order(const std::set< K, C, A >& x, const std::set< K, C, A >& y)
+{
+    typename std::set< K, C, A >::iterator xi = x.begin(), yi = y.begin(),
+                                           xend = x.end(), yend = y.end();
+    for (; xi != xend && yi != yend; ++xi, ++yi)
     {
-      typename std::set<K,C,A>::iterator
-        xi = x.begin(), yi = y.begin(), xend = x.end(), yend = y.end();
-      for (; xi != xend && yi != yend; ++xi, ++yi) {
         if (*xi < *yi)
-          return 1;
+            return 1;
         else if (*yi < *xi)
-          return -1;
-      }
-      if (xi == xend)
+            return -1;
+    }
+    if (xi == xend)
         return (yi == yend) ? 0 : -1;
-      else
+    else
         return 1;
-    }
+}
 
-    template <class K, class C, class A>
-    void set_clear(std::set<K,C,A>& x) {
-      x.clear();
-    }
+template < class K, class C, class A > void set_clear(std::set< K, C, A >& x)
+{
+    x.clear();
+}
 
-    template <class K, class C, class A>
-    bool set_empty(const std::set<K,C,A>& x) {
-      return x.empty();
-    }
+template < class K, class C, class A >
+bool set_empty(const std::set< K, C, A >& x)
+{
+    return x.empty();
+}
 
-    template <class K, class C, class A, class T>
-    void set_insert(std::set<K,C,A>& x, const T& a) {
-      x.insert(a);
-    }
+template < class K, class C, class A, class T >
+void set_insert(std::set< K, C, A >& x, const T& a)
+{
+    x.insert(a);
+}
 
-    template <class K, class C, class A, class T>
-    void set_remove(std::set<K,C,A>& x, const T& a) {
-      x.erase(a);
-    }
-    
-    template <class K, class C, class A>
-    void set_intersect(const std::set<K,C,A>& x,
-                       const std::set<K,C,A>& y,
-                       std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_intersection(x.begin(), x.end(),
-                            y.begin(), y.end(),
-                            std::inserter(z));
-    }
+template < class K, class C, class A, class T >
+void set_remove(std::set< K, C, A >& x, const T& a)
+{
+    x.erase(a);
+}
 
-    template <class K, class C, class A>
-    void set_union(const std::set<K,C,A>& x,
-                   const std::set<K,C,A>& y,
-                   std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_union(x.begin(), x.end(),
-                     y.begin(), y.end(),
-                     std::inserter(z));
-    }
+template < class K, class C, class A >
+void set_intersect(const std::set< K, C, A >& x, const std::set< K, C, A >& y,
+    std::set< K, C, A >& z)
+{
+    z.clear();
+    std::set_intersection(
+        x.begin(), x.end(), y.begin(), y.end(), std::inserter(z));
+}
 
-    template <class K, class C, class A>
-    void set_difference(const std::set<K,C,A>& x,
-                        const std::set<K,C,A>& y,
-                        std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_difference(x.begin(), x.end(),
-                          y.begin(), y.end(),
-                          std::inserter(z, z.begin()));
-    }
+template < class K, class C, class A >
+void set_union(const std::set< K, C, A >& x, const std::set< K, C, A >& y,
+    std::set< K, C, A >& z)
+{
+    z.clear();
+    std::set_union(x.begin(), x.end(), y.begin(), y.end(), std::inserter(z));
+}
 
-    template <class K, class C, class A>
-    bool set_subset(const std::set<K,C,A>& x,
-                    const std::set<K,C,A>& y)
-    {
-      return std::includes(x.begin(), x.end(), y.begin(), y.end());
-    }
+template < class K, class C, class A >
+void set_difference(const std::set< K, C, A >& x, const std::set< K, C, A >& y,
+    std::set< K, C, A >& z)
+{
+    z.clear();
+    std::set_difference(
+        x.begin(), x.end(), y.begin(), y.end(), std::inserter(z, z.begin()));
+}
 
-    // Shit, can't implement this without knowing the size of the
-    // universe.
-    template <class K, class C, class A>
-    void set_compliment(const std::set<K,C,A>& /*x*/,
-                        std::set<K,C,A>& z)
-    {
-      z.clear();
-      
-    }
-    
-} // namespace boost    
+template < class K, class C, class A >
+bool set_subset(const std::set< K, C, A >& x, const std::set< K, C, A >& y)
+{
+    return std::includes(x.begin(), x.end(), y.begin(), y.end());
+}
+
+// Shit, can't implement this without knowing the size of the
+// universe.
+template < class K, class C, class A >
+void set_compliment(const std::set< K, C, A >& /*x*/, std::set< K, C, A >& z)
+{
+    z.clear();
+}
+
+} // namespace boost
 
 #endif // BOOST_SET_ADAPTOR_HPP