File indexing completed on 2024-11-15 09:12:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef BOOST_GEOMETRY_STRATEGIES_COVERED_BY_HPP
0019 #define BOOST_GEOMETRY_STRATEGIES_COVERED_BY_HPP
0020
0021
0022 #include <boost/geometry/core/cs.hpp>
0023 #include <boost/geometry/core/point_type.hpp>
0024 #include <boost/geometry/core/static_assert.hpp>
0025 #include <boost/geometry/core/tag.hpp>
0026 #include <boost/geometry/core/tags.hpp>
0027 #include <boost/geometry/core/tag_cast.hpp>
0028
0029
0030 namespace boost { namespace geometry
0031 {
0032
0033
0034 namespace strategy { namespace covered_by
0035 {
0036
0037
0038 namespace services
0039 {
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 template
0052 <
0053 typename GeometryContained,
0054 typename GeometryContaining,
0055 typename TagContained = typename tag<GeometryContained>::type,
0056 typename TagContaining = typename tag<GeometryContaining>::type,
0057 typename CastedTagContained = typename tag_cast
0058 <
0059 typename tag<GeometryContained>::type,
0060 pointlike_tag, linear_tag, polygonal_tag, areal_tag
0061 >::type,
0062 typename CastedTagContaining = typename tag_cast
0063 <
0064 typename tag<GeometryContaining>::type,
0065 pointlike_tag, linear_tag, polygonal_tag, areal_tag
0066 >::type,
0067 typename CsTagContained = typename tag_cast
0068 <
0069 typename cs_tag<typename point_type<GeometryContained>::type>::type,
0070 spherical_tag
0071 >::type,
0072 typename CsTagContaining = typename tag_cast
0073 <
0074 typename cs_tag<typename point_type<GeometryContaining>::type>::type,
0075 spherical_tag
0076 >::type
0077 >
0078 struct default_strategy
0079 {
0080 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0081 "Not implemented for these types.",
0082 GeometryContained, GeometryContaining);
0083 };
0084
0085
0086 }
0087
0088
0089 }}
0090
0091
0092 }}
0093
0094
0095 #endif
0096