From 47f78e4e05df63d2f24bd945b9d94251a121ee3d Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 Jan 2012 10:49:28 +0000 Subject: [PATCH] Merge for Boost.Geometry [SVN r76363] --- include/boost/geometry/io/dsv/write.hpp | 6 +++--- .../geometry/multi/algorithms/distance.hpp | 20 ++++++++++++++++++- .../multi/geometries/multi_geometries.hpp | 6 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/include/boost/geometry/io/dsv/write.hpp b/include/boost/geometry/io/dsv/write.hpp index 0df047b05..62929f807 100644 --- a/include/boost/geometry/io/dsv/write.hpp +++ b/include/boost/geometry/io/dsv/write.hpp @@ -1,8 +1,8 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. diff --git a/include/boost/geometry/multi/algorithms/distance.hpp b/include/boost/geometry/multi/algorithms/distance.hpp index 95660b969..c2e584d96 100644 --- a/include/boost/geometry/multi/algorithms/distance.hpp +++ b/include/boost/geometry/multi/algorithms/distance.hpp @@ -36,6 +36,12 @@ namespace detail { namespace distance template struct distance_single_to_multi + : private dispatch::distance + < + Geometry, + typename range_value::type, + Strategy + > { typedef typename strategy::distance::services::return_type::type return_type; @@ -50,7 +56,13 @@ struct distance_single_to_multi it != boost::end(multi); ++it) { - return_type dist = geometry::distance(geometry, *it); + return_type dist = dispatch::distance + < + Geometry, + typename range_value::type, + Strategy + >::apply(geometry, *it, strategy); + if (first || dist < mindist) { mindist = dist; @@ -64,6 +76,12 @@ struct distance_single_to_multi template struct distance_multi_to_multi + : private distance_single_to_multi + < + typename range_value::type, + Multi2, + Strategy + > { typedef typename strategy::distance::services::return_type::type return_type; diff --git a/include/boost/geometry/multi/geometries/multi_geometries.hpp b/include/boost/geometry/multi/geometries/multi_geometries.hpp index 0e98b22fb..90cf85a0f 100644 --- a/include/boost/geometry/multi/geometries/multi_geometries.hpp +++ b/include/boost/geometry/multi/geometries/multi_geometries.hpp @@ -1,8 +1,8 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. +// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.