]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/geometry/algorithms/detail/equals/interface.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / geometry / algorithms / detail / equals / interface.hpp
index eacf95e9fe494bdd17384ef0d77b920a660e1c67..1e4918836cd573dcc3ee813ca0bb91fe45c85fba 100644 (file)
@@ -5,8 +5,8 @@
 // Copyright (c) 2009-2015 Mateusz Loskot, London, UK.
 // Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland.
 
-// This file was modified by Oracle on 2014, 2015, 2016, 2017.
-// Modifications copyright (c) 2014-2017 Oracle and/or its affiliates.
+// This file was modified by Oracle on 2014, 2015, 2016, 2017, 2019.
+// Modifications copyright (c) 2014-2019 Oracle and/or its affiliates.
 
 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
@@ -52,6 +52,8 @@ template
     typename Geometry2,
     typename Tag1 = typename tag<Geometry1>::type,
     typename Tag2 = typename tag<Geometry2>::type,
+    typename CastedTag1 = typename tag_cast<Tag1, pointlike_tag, linear_tag, areal_tag>::type,
+    typename CastedTag2 = typename tag_cast<Tag2, pointlike_tag, linear_tag, areal_tag>::type,
     std::size_t DimensionCount = dimension<Geometry1>::type::value,
     bool Reverse = reverse_dispatch<Geometry1, Geometry2>::type::value
 >
@@ -64,10 +66,11 @@ template
 <
     typename Geometry1, typename Geometry2,
     typename Tag1, typename Tag2,
+    typename CastedTag1, typename CastedTag2,
     std::size_t DimensionCount
 >
-struct equals<Geometry1, Geometry2, Tag1, Tag2, DimensionCount, true>
-    : equals<Geometry2, Geometry1, Tag2, Tag1, DimensionCount, false>
+struct equals<Geometry1, Geometry2, Tag1, Tag2, CastedTag1, CastedTag2, DimensionCount, true>
+    : equals<Geometry2, Geometry1, Tag2, Tag1, CastedTag2, CastedTag1, DimensionCount, false>
 {
     template <typename Strategy>
     static inline bool apply(Geometry1 const& g1, Geometry2 const& g2, Strategy const& strategy)
@@ -76,6 +79,7 @@ struct equals<Geometry1, Geometry2, Tag1, Tag2, DimensionCount, true>
             <
                 Geometry2, Geometry1,
                 Tag2, Tag1,
+                CastedTag2, CastedTag1,
                 DimensionCount,
                 false
             >::apply(g2, g1, strategy);