]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/geometry/core/exterior_ring.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / geometry / core / exterior_ring.hpp
index fa5a0a2b98cfca3c7faada86b18996d8b7ce319a..3e99aa4d267e359d67eb6dbc398c62ea7b08b43b 100644 (file)
@@ -4,6 +4,10 @@
 // Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
 // Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
 
+// 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
+
 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
 
 #define BOOST_GEOMETRY_CORE_EXTERIOR_RING_HPP
 
 
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
+#include <type_traits>
 
 #include <boost/geometry/core/ring_type.hpp>
+#include <boost/geometry/core/static_assert.hpp>
 #include <boost/geometry/core/tag.hpp>
 #include <boost/geometry/core/tags.hpp>
-#include <boost/geometry/util/add_const_if_c.hpp>
 
 
 namespace boost { namespace geometry
@@ -48,11 +49,9 @@ namespace traits
 template <typename Polygon>
 struct exterior_ring
 {
-    BOOST_MPL_ASSERT_MSG
-        (
-            false, NOT_IMPLEMENTED_FOR_THIS_POLYGON_TYPE
-            , (types<Polygon>)
-        );
+    BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
+        "Not implemented for this Polygon type.",
+        Polygon);
 };
 
 
@@ -67,11 +66,9 @@ namespace core_dispatch
 template <typename Tag, typename Geometry>
 struct exterior_ring
 {
-    BOOST_MPL_ASSERT_MSG
-        (
-            false, NOT_IMPLEMENTED_FOR_THIS_GEOMETRY_TYPE
-            , (types<Geometry>)
-        );
+    BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
+        "Not implemented for this Geometry type.",
+        Tag, Geometry);
 };
 
 
@@ -80,15 +77,11 @@ struct exterior_ring<polygon_tag, Polygon>
 {
     static
     typename geometry::ring_return_type<Polygon>::type
-        apply(typename add_const_if_c
-            <
-                boost::is_const<Polygon>::type::value,
-                Polygon
-            >::type& polygon)
+        apply(Polygon& polygon)
     {
         return traits::exterior_ring
             <
-                typename boost::remove_const<Polygon>::type
+                typename std::remove_const<Polygon>::type
             >::get(polygon);
     }
 };