[algorithms][comparable distance] make comparable distance algorithm

variant-aware
This commit is contained in:
Menelaos Karavelas
2014-07-08 12:32:00 +03:00
parent 3d17b42a12
commit 6681aefa22

View File

@@ -19,11 +19,16 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_COMPARABLE_DISTANCE_INTERFACE_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_COMPARABLE_DISTANCE_INTERFACE_HPP
#include <boost/geometry/strategies/default_comparable_distance_result.hpp>
#include <boost/geometry/geometries/concepts/check.hpp>
#include <boost/geometry/strategies/comparable_distance_result.hpp>
#include <boost/geometry/strategies/default_comparable_distance_result.hpp>
#include <boost/geometry/strategies/default_comparable_strategy.hpp>
#include <boost/geometry/strategies/distance.hpp>
#include <boost/geometry/algorithms/detail/distance/interface.hpp>
namespace boost { namespace geometry
{
@@ -87,16 +92,7 @@ comparable_distance(Geometry1 const& geometry1, Geometry2 const& geometry2)
concept::check<Geometry1 const>();
concept::check<Geometry2 const>();
// Define the default-distance-strategy
typedef typename strategy::distance::services::comparable_type
<
typename detail::distance::default_strategy
<
Geometry1, Geometry2
>::type
>::type default_comparable_strategy_type;
return distance(geometry1, geometry2, default_comparable_strategy_type());
return distance(geometry1, geometry2, default_comparable_strategy());
}