diff --git a/include/boost/geometry/strategies/comparable_distance_result.hpp b/include/boost/geometry/strategies/comparable_distance_result.hpp index cfe7ea84a..117f59a2f 100644 --- a/include/boost/geometry/strategies/comparable_distance_result.hpp +++ b/include/boost/geometry/strategies/comparable_distance_result.hpp @@ -10,8 +10,10 @@ #ifndef BOOST_GEOMETRY_STRATEGIES_COMPARABLE_DISTANCE_RESULT_HPP #define BOOST_GEOMETRY_STRATEGIES_COMPARABLE_DISTANCE_RESULT_HPP -#include +#include +#include #include +#include #include @@ -19,6 +21,7 @@ namespace boost { namespace geometry { + /*! \brief Meta-function defining return type of comparable_distance function \ingroup distance @@ -30,32 +33,34 @@ template typename Strategy = void > struct comparable_distance_result -{ - typedef typename strategy::distance::services::return_type - < - typename strategy::distance::services::comparable_type - < - Strategy - >::type, - typename point_type::type, - typename point_type::type - >::type type; -}; - - -template -struct comparable_distance_result - : comparable_distance_result + : distance_result < Geometry1, Geometry2, - typename detail::distance::default_strategy + typename strategy::distance::services::comparable_type < - Geometry1, Geometry2 + Strategy >::type > {}; +template +struct comparable_distance_result + : distance_result +{}; + +template +struct comparable_distance_result + < + Geometry1, Geometry2, default_comparable_strategy + > : distance_result +{}; + +template +struct comparable_distance_result + : distance_result +{}; + }} // namespace boost::geometry