diff options
Diffstat (limited to 'boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp')
-rw-r--r-- | boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp b/boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp index eabc9528db..58a9d5b283 100644 --- a/boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp +++ b/boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp @@ -1,7 +1,8 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014-2021 Oracle and/or its affiliates. +// Copyright (c) 2014-2021, Oracle and/or its affiliates. +// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle @@ -16,7 +17,6 @@ #include <boost/range/size.hpp> #include <boost/geometry/algorithms/covered_by.hpp> -#include <boost/geometry/algorithms/detail/check_iterator_range.hpp> #include <boost/geometry/algorithms/detail/distance/range_to_geometry_rtree.hpp> #include <boost/geometry/algorithms/detail/distance/strategy_utils.hpp> #include <boost/geometry/algorithms/dispatch/distance.hpp> @@ -46,7 +46,6 @@ struct multipoint_to_multipoint Strategies const& strategies) { if (boost::size(multipoint2) < boost::size(multipoint1)) - { return point_or_segment_range_to_geometry_rtree < @@ -103,16 +102,16 @@ template <typename MultiPoint, typename Areal, typename Strategies> class multipoint_to_areal { private: - struct not_covered_by_areal + struct covered_by_areal { - not_covered_by_areal(Areal const& areal, Strategies const& strategy) + covered_by_areal(Areal const& areal, Strategies const& strategy) : m_areal(areal), m_strategy(strategy) {} template <typename Point> - inline bool apply(Point const& point) const + inline bool operator()(Point const& point) const { - return !geometry::covered_by(point, m_areal, m_strategy); + return geometry::covered_by(point, m_areal, m_strategy); } Areal const& m_areal; @@ -126,14 +125,10 @@ public: Areal const& areal, Strategies const& strategies) { - not_covered_by_areal predicate(areal, strategies); + covered_by_areal predicate(areal, strategies); - if (check_iterator_range - < - not_covered_by_areal, false - >::apply(boost::begin(multipoint), - boost::end(multipoint), - predicate)) + if (! boost::empty(multipoint) && + std::none_of(boost::begin(multipoint), boost::end(multipoint), predicate)) { return detail::distance::point_or_segment_range_to_geometry_rtree < |