]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/geometry/policies/robustness/segment_ratio_type.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / geometry / policies / robustness / segment_ratio_type.hpp
index fa861c206d66de30834ac46a722a9f417c2036c8..8f4d0096c4880176ae872f40affee47e0a0621f6 100644 (file)
@@ -5,6 +5,10 @@
 // Copyright (c) 2013 Mateusz Loskot, London, UK.
 // Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland.
 
+// This file was modified by Oracle on 2020.
+// Modifications copyright (c) 2020 Oracle and/or its affiliates.
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
+
 // Use, modification and distribution is subject to 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)
 #ifndef BOOST_GEOMETRY_POLICIES_ROBUSTNESS_SEGMENT_RATIO_TYPE_HPP
 #define BOOST_GEOMETRY_POLICIES_ROBUSTNESS_SEGMENT_RATIO_TYPE_HPP
 
-#include <boost/geometry/core/coordinate_type.hpp>
-#include <boost/geometry/policies/robustness/rescale_policy_tags.hpp>
+#include <type_traits>
 
 #include <boost/config.hpp>
-#include <boost/mpl/if.hpp>
+
+#include <boost/geometry/core/coordinate_type.hpp>
+#include <boost/geometry/policies/robustness/rescale_policy_tags.hpp>
 
 namespace boost { namespace geometry { namespace detail
 {
@@ -27,16 +32,16 @@ struct segment_ratio_type
 {
     // Type in segment ratio is either the coordinate type, or for
     // deprecated robust point types it is a long_long type
-    typedef typename boost::mpl::if_c
-    <
-        boost::is_same
+    typedef std::conditional_t
         <
-            typename rescale_policy_type<Policy>::type,
-            no_rescale_policy_tag
-        >::value,
-        typename geometry::coordinate_type<Point>::type,
-        boost::long_long_type
-    >::type coordinate_type;
+            std::is_same
+                <
+                    typename rescale_policy_type<Policy>::type,
+                    no_rescale_policy_tag
+                >::value,
+            typename geometry::coordinate_type<Point>::type,
+            boost::long_long_type
+        > coordinate_type;
 
     // Define segment ratio based on the coordinate type
     typedef geometry::segment_ratio<coordinate_type> type;