]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/heap/policies.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / heap / policies.hpp
index 5a44dafd10e753dbe5e532d75476c8ddf5d1404e..6a251a9faafdeca593ab45f741d47a67b02ef9d0 100644 (file)
@@ -9,11 +9,15 @@
 #ifndef BOOST_HEAP_POLICIES_HPP
 #define BOOST_HEAP_POLICIES_HPP
 
-#include <boost/parameter.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/void.hpp>
 #include <boost/concept_check.hpp>
+#include <boost/parameter/name.hpp>
+#include <boost/parameter/template_keyword.hpp>
+#include <boost/parameter/aux_/void.hpp>
+#include <boost/parameter/binding.hpp>
+#include <boost/parameter/parameters.hpp>
+#include <boost/type_traits/conditional.hpp>
+#include <boost/type_traits/integral_constant.hpp>
+#include <boost/type_traits/is_void.hpp>
 
 #ifdef BOOST_HAS_PRAGMA_ONCE
 #pragma once
@@ -30,14 +34,14 @@ namespace tag { struct stable; }
 
 template <bool T>
 struct stable:
-    boost::parameter::template_keyword<tag::stable, boost::mpl::bool_<T> >
+    boost::parameter::template_keyword<tag::stable, boost::integral_constant<bool, T> >
 {};
 
 namespace tag { struct mutable_; }
 
 template <bool T>
 struct mutable_:
-    boost::parameter::template_keyword<tag::mutable_, boost::mpl::bool_<T> >
+    boost::parameter::template_keyword<tag::mutable_, boost::integral_constant<bool, T> >
 {};
 
 
@@ -45,41 +49,39 @@ namespace tag { struct constant_time_size; }
 
 template <bool T>
 struct constant_time_size:
-    boost::parameter::template_keyword<tag::constant_time_size, boost::mpl::bool_<T> >
+    boost::parameter::template_keyword<tag::constant_time_size, boost::integral_constant<bool, T> >
 {};
 
 namespace tag { struct store_parent_pointer; }
 
 template <bool T>
 struct store_parent_pointer:
-    boost::parameter::template_keyword<tag::store_parent_pointer, boost::mpl::bool_<T> >
+    boost::parameter::template_keyword<tag::store_parent_pointer, boost::integral_constant<bool, T> >
 {};
 
 namespace tag { struct arity; }
 
 template <unsigned int T>
 struct arity:
-    boost::parameter::template_keyword<tag::arity, boost::mpl::int_<T> >
+    boost::parameter::template_keyword<tag::arity, boost::integral_constant<int, T> >
 {};
 
 namespace tag { struct objects_per_page; }
 
 template <unsigned int T>
 struct objects_per_page:
-    boost::parameter::template_keyword<tag::objects_per_page, boost::mpl::int_<T> >
+    boost::parameter::template_keyword<tag::objects_per_page, boost::integral_constant<int, T> >
 {};
 
 BOOST_PARAMETER_TEMPLATE_KEYWORD(stability_counter_type)
 
 namespace detail {
 
-namespace mpl = boost::mpl;
-
 template <typename bound_args, typename tag_type>
 struct has_arg
 {
-    typedef typename boost::parameter::binding<bound_args, tag_type, mpl::void_>::type type;
-    static const bool value = mpl::is_not_void_<type>::type::value;
+    typedef typename boost::parameter::binding<bound_args, tag_type, void>::type type;
+    static const bool value = !boost::is_void<type>::value;
 };
 
 template <typename bound_args>
@@ -87,9 +89,9 @@ struct extract_stable
 {
     static const bool has_stable = has_arg<bound_args, tag::stable>::value;
 
-    typedef typename mpl::if_c<has_stable,
+    typedef typename boost::conditional<has_stable,
                                typename has_arg<bound_args, tag::stable>::type,
-                               mpl::bool_<false>
+                               boost::false_type
                               >::type stable_t;
 
     static const bool value = stable_t::value;
@@ -100,9 +102,9 @@ struct extract_mutable
 {
     static const bool has_mutable = has_arg<bound_args, tag::mutable_>::value;
 
-    typedef typename mpl::if_c<has_mutable,
+    typedef typename boost::conditional<has_mutable,
                                typename has_arg<bound_args, tag::mutable_>::type,
-                               mpl::bool_<false>
+                               boost::false_type
                               >::type mutable_t;
 
     static const bool value = mutable_t::value;