diff options
Diffstat (limited to 'boost/geometry/strategies/agnostic/relate.hpp')
-rw-r--r-- | boost/geometry/strategies/agnostic/relate.hpp | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/boost/geometry/strategies/agnostic/relate.hpp b/boost/geometry/strategies/agnostic/relate.hpp index 318047fadb..9e8753251d 100644 --- a/boost/geometry/strategies/agnostic/relate.hpp +++ b/boost/geometry/strategies/agnostic/relate.hpp @@ -20,10 +20,9 @@ namespace boost { namespace geometry namespace strategy { namespace relate { -template <typename StaticMask> +template <typename Geometry1, typename Geometry2, typename StaticMask> struct relate { - template <typename Geometry1, typename Geometry2> static inline bool apply(Geometry1 const& geometry1, Geometry2 const& geometry2) { return detail::relate::relate<StaticMask>(geometry1, geometry2); @@ -44,13 +43,23 @@ namespace services template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS> struct default_strategy<AnyTag1, AnyTag2, AnyTag1, AnyTag2, AnyCS, AnyCS, Geometry1, Geometry2> { - typedef strategy::relate::relate<detail::relate::static_mask_within> type; + typedef strategy::relate::relate + < + Geometry1, + Geometry2, + detail::relate::static_mask_within + > type; }; template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS> struct default_strategy<AnyTag1, AnyTag2, AnyTag1, areal_tag, AnyCS, AnyCS, Geometry1, Geometry2> { - typedef strategy::relate::relate<detail::relate::static_mask_within> type; + typedef strategy::relate::relate + < + Geometry1, + Geometry2, + detail::relate::static_mask_within + > type; }; @@ -71,13 +80,23 @@ namespace strategy { namespace covered_by { namespace services template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS> struct default_strategy<AnyTag1, AnyTag2, AnyTag1, AnyTag2, AnyCS, AnyCS, Geometry1, Geometry2> { - typedef strategy::relate::relate<detail::relate::static_mask_covered_by> type; + typedef strategy::relate::relate + < + Geometry1, + Geometry2, + detail::relate::static_mask_covered_by + > type; }; template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS> struct default_strategy<AnyTag1, AnyTag2, AnyTag1, areal_tag, AnyCS, AnyCS, Geometry1, Geometry2> { - typedef strategy::relate::relate<detail::relate::static_mask_covered_by> type; + typedef strategy::relate::relate + < + Geometry1, + Geometry2, + detail::relate::static_mask_covered_by + > type; }; |