File indexing completed on 2025-12-16 09:51:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_GEOMETRY_STRATEGIES_DISJOINT_HPP
0012 #define BOOST_GEOMETRY_STRATEGIES_DISJOINT_HPP
0013
0014
0015 #include <boost/geometry/core/cs.hpp>
0016 #include <boost/geometry/core/point_type.hpp>
0017 #include <boost/geometry/core/topological_dimension.hpp>
0018
0019 #include <boost/geometry/strategies/covered_by.hpp>
0020 #include <boost/geometry/strategies/default_strategy.hpp>
0021
0022 #include <boost/geometry/strategy/relate.hpp>
0023
0024
0025 namespace boost { namespace geometry { namespace strategy { namespace disjoint
0026 {
0027
0028 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
0029 namespace services
0030 {
0031
0032 template
0033 <
0034 typename Geometry1,
0035 typename Geometry2,
0036 typename Tag1 = tag_t<Geometry1>,
0037 typename Tag2 = tag_t<Geometry2>,
0038 int TopDim1 = geometry::topological_dimension<Geometry1>::value,
0039 int TopDim2 = geometry::topological_dimension<Geometry2>::value,
0040 typename CsTag1 = cs_tag_t<Geometry1>,
0041 typename CsTag2 = cs_tag_t<Geometry2>
0042 >
0043 struct default_strategy
0044 : relate::services::default_strategy
0045 <
0046 Geometry1, Geometry2
0047 >
0048 {};
0049
0050 template <typename Point, typename Box>
0051 struct default_strategy<Point, Box, point_tag, box_tag, 0, 2>
0052 : strategy::covered_by::services::default_strategy<Point, Box>
0053 {};
0054
0055 template <typename Box, typename Point>
0056 struct default_strategy<Box, Point, box_tag, point_tag, 2, 0>
0057 : strategy::covered_by::services::default_strategy<Point, Box>
0058 {};
0059
0060 template <typename MultiPoint, typename Box>
0061 struct default_strategy<MultiPoint, Box, multi_point_tag, box_tag, 0, 2>
0062 : strategy::covered_by::services::default_strategy
0063 <
0064 point_type_t<MultiPoint>,
0065 Box
0066 >
0067 {};
0068
0069 template <typename Box, typename MultiPoint>
0070 struct default_strategy<Box, MultiPoint, box_tag, multi_point_tag, 2, 0>
0071 : strategy::covered_by::services::default_strategy
0072 <
0073 point_type_t<MultiPoint>,
0074 Box
0075 >
0076 {};
0077
0078 }
0079 #endif
0080
0081 }}}}
0082
0083
0084 #endif