annotate DEPENDENCIES/generic/include/boost/geometry/strategies/agnostic/relate.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 // Boost.Geometry (aka GGL, Generic Geometry Library)
Chris@102 2
Chris@102 3 // Copyright (c) 2014 Oracle and/or its affiliates.
Chris@102 4
Chris@102 5 // Use, modification and distribution is subject to the Boost Software License,
Chris@102 6 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Chris@102 7 // http://www.boost.org/LICENSE_1_0.txt)
Chris@102 8
Chris@102 9 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
Chris@102 10
Chris@102 11 #ifndef BOOST_GEOMETRY_STRATEGY_AGNOSTIC_RELATE_HPP
Chris@102 12 #define BOOST_GEOMETRY_STRATEGY_AGNOSTIC_RELATE_HPP
Chris@102 13
Chris@102 14 #include <boost/geometry/algorithms/detail/relate/relate.hpp>
Chris@102 15
Chris@102 16
Chris@102 17 namespace boost { namespace geometry
Chris@102 18 {
Chris@102 19
Chris@102 20 namespace strategy { namespace relate
Chris@102 21 {
Chris@102 22
Chris@102 23 template <typename Geometry1, typename Geometry2, typename StaticMask>
Chris@102 24 struct relate
Chris@102 25 {
Chris@102 26 static inline bool apply(Geometry1 const& geometry1, Geometry2 const& geometry2)
Chris@102 27 {
Chris@102 28 return detail::relate::relate<StaticMask>(geometry1, geometry2);
Chris@102 29 }
Chris@102 30 };
Chris@102 31
Chris@102 32 } // namespace relate
Chris@102 33
Chris@102 34 namespace within
Chris@102 35 {
Chris@102 36
Chris@102 37 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
Chris@102 38
Chris@102 39 namespace services
Chris@102 40 {
Chris@102 41
Chris@102 42
Chris@102 43 template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS>
Chris@102 44 struct default_strategy<AnyTag1, AnyTag2, AnyTag1, AnyTag2, AnyCS, AnyCS, Geometry1, Geometry2>
Chris@102 45 {
Chris@102 46 typedef strategy::relate::relate
Chris@102 47 <
Chris@102 48 Geometry1,
Chris@102 49 Geometry2,
Chris@102 50 detail::relate::static_mask_within
Chris@102 51 > type;
Chris@102 52 };
Chris@102 53
Chris@102 54 template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS>
Chris@102 55 struct default_strategy<AnyTag1, AnyTag2, AnyTag1, areal_tag, AnyCS, AnyCS, Geometry1, Geometry2>
Chris@102 56 {
Chris@102 57 typedef strategy::relate::relate
Chris@102 58 <
Chris@102 59 Geometry1,
Chris@102 60 Geometry2,
Chris@102 61 detail::relate::static_mask_within
Chris@102 62 > type;
Chris@102 63 };
Chris@102 64
Chris@102 65
Chris@102 66 } // namespace services
Chris@102 67
Chris@102 68 #endif
Chris@102 69
Chris@102 70
Chris@102 71 }} // namespace strategy::within
Chris@102 72
Chris@102 73
Chris@102 74
Chris@102 75 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
Chris@102 76 namespace strategy { namespace covered_by { namespace services
Chris@102 77 {
Chris@102 78
Chris@102 79
Chris@102 80 template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS>
Chris@102 81 struct default_strategy<AnyTag1, AnyTag2, AnyTag1, AnyTag2, AnyCS, AnyCS, Geometry1, Geometry2>
Chris@102 82 {
Chris@102 83 typedef strategy::relate::relate
Chris@102 84 <
Chris@102 85 Geometry1,
Chris@102 86 Geometry2,
Chris@102 87 detail::relate::static_mask_covered_by
Chris@102 88 > type;
Chris@102 89 };
Chris@102 90
Chris@102 91 template <typename Geometry1, typename Geometry2, typename AnyTag1, typename AnyTag2, typename AnyCS>
Chris@102 92 struct default_strategy<AnyTag1, AnyTag2, AnyTag1, areal_tag, AnyCS, AnyCS, Geometry1, Geometry2>
Chris@102 93 {
Chris@102 94 typedef strategy::relate::relate
Chris@102 95 <
Chris@102 96 Geometry1,
Chris@102 97 Geometry2,
Chris@102 98 detail::relate::static_mask_covered_by
Chris@102 99 > type;
Chris@102 100 };
Chris@102 101
Chris@102 102
Chris@102 103 }}} // namespace strategy::covered_by::services
Chris@102 104 #endif
Chris@102 105
Chris@102 106
Chris@102 107 }} // namespace boost::geometry
Chris@102 108
Chris@102 109
Chris@102 110 #endif // BOOST_GEOMETRY_STRATEGY_AGNOSTIC_RELATE_HPP