File indexing completed on 2025-01-18 09:35:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_POINT_POINT_HPP
0022 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EQUALS_POINT_POINT_HPP
0023
0024
0025 #include <type_traits>
0026
0027 #include <boost/geometry/strategies/detail.hpp>
0028
0029
0030 namespace boost { namespace geometry
0031 {
0032
0033 #ifndef DOXYGEN_NO_DETAIL
0034 namespace detail { namespace equals
0035 {
0036
0037
0038
0039
0040
0041 template
0042 <
0043 typename Point1, typename Point2, typename Strategy,
0044 std::enable_if_t<strategies::detail::is_umbrella_strategy<Strategy>::value, int> = 0
0045 >
0046 inline bool equals_point_point(Point1 const& point1, Point2 const& point2,
0047 Strategy const& strategy)
0048 {
0049 typedef decltype(strategy.relate(point1, point2)) strategy_type;
0050 return strategy_type::apply(point1, point2);
0051 }
0052
0053 template
0054 <
0055 typename Point1, typename Point2, typename Strategy,
0056 std::enable_if_t<! strategies::detail::is_umbrella_strategy<Strategy>::value, int> = 0
0057 >
0058 inline bool equals_point_point(Point1 const& point1, Point2 const& point2,
0059 Strategy const& )
0060 {
0061 return Strategy::apply(point1, point2);
0062 }
0063
0064 }}
0065 #endif
0066
0067 }}
0068
0069 #endif