File indexing completed on 2025-01-18 09:36:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef BOOST_GEOMETRY_STRATEGIES_DISTANCE_HPP
0020 #define BOOST_GEOMETRY_STRATEGIES_DISTANCE_HPP
0021
0022
0023 #include <boost/geometry/core/cs.hpp>
0024 #include <boost/geometry/core/static_assert.hpp>
0025 #include <boost/geometry/strategies/tags.hpp>
0026
0027
0028 namespace boost { namespace geometry
0029 {
0030
0031
0032 namespace strategy { namespace distance { namespace services
0033 {
0034
0035
0036 template <typename Strategy> struct tag
0037 {
0038 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0039 "Not implemented for this Strategy.",
0040 Strategy);
0041 };
0042
0043 template <typename Strategy, typename P1, typename P2>
0044 struct return_type
0045 {
0046 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0047 "Not implemented for this Strategy.",
0048 Strategy, P1, P2);
0049 };
0050
0051
0052 template <typename Strategy> struct comparable_type
0053 {
0054 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0055 "Not implemented for this Strategy.",
0056 Strategy);
0057 };
0058
0059 template <typename Strategy> struct get_comparable
0060 {
0061 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0062 "Not implemented for this Strategy.",
0063 Strategy);
0064 };
0065
0066 template <typename Strategy, typename P1, typename P2>
0067 struct result_from_distance
0068 {
0069 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0070 "Not implemented for this Strategy.",
0071 Strategy, P1, P2);
0072 };
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091 template
0092 <
0093 typename GeometryTag1,
0094 typename GeometryTag2,
0095 typename Point1,
0096 typename Point2 = Point1,
0097 typename CsTag1 = typename cs_tag<Point1>::type,
0098 typename CsTag2 = typename cs_tag<Point2>::type,
0099 typename UnderlyingStrategy = void
0100 >
0101 struct default_strategy
0102 {
0103 BOOST_GEOMETRY_STATIC_ASSERT_FALSE(
0104 "Not implemented for this Point type combination.",
0105 Point1, Point2, CsTag1, CsTag2);
0106 };
0107
0108
0109 }}}
0110
0111
0112 }}
0113
0114 #endif