1 // Boost.Geometry (aka GGL, Generic Geometry Library) 2 3 // Copyright (c) 2014, Oracle and/or its affiliates. 4 5 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle 6 7 // Licensed under the Boost Software License version 1.0. 8 // http://www.boost.org/users/license.html 9 10 #ifndef BOOST_GEOMETRY_ALGORITHS_DETAIL_DISTANCE_IS_COMPARABLE_HPP 11 #define BOOST_GEOMETRY_ALGORITHS_DETAIL_DISTANCE_IS_COMPARABLE_HPP 12 13 #include <boost/type_traits/is_same.hpp> 14 15 #include <boost/geometry/strategies/distance.hpp> 16 17 18 namespace boost { namespace geometry 19 { 20 21 #ifndef DOXYGEN_NO_DETAIL 22 namespace detail { namespace distance 23 { 24 25 26 // metafunction to determine is a strategy is comparable or not 27 template <typename Strategy> 28 struct is_comparable 29 : boost::is_same 30 < 31 Strategy, 32 typename strategy::distance::services::comparable_type 33 < 34 Strategy 35 >::type 36 > 37 {}; 38 39 40 }} // namespace detail::distance 41 #endif // DOXYGEN_NO_DETAIL 42 43 }} // namespace boost::geometry 44 45 #endif // BOOST_GEOMETRY_ALGORITHS_DETAIL_DISTANCE_IS_COMPARABLE_HPP 46