summaryrefslogtreecommitdiff
path: root/boost/geometry/algorithms/detail/within/multi_point.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/algorithms/detail/within/multi_point.hpp')
-rw-r--r--boost/geometry/algorithms/detail/within/multi_point.hpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/boost/geometry/algorithms/detail/within/multi_point.hpp b/boost/geometry/algorithms/detail/within/multi_point.hpp
index 349ef03026..be984e9364 100644
--- a/boost/geometry/algorithms/detail/within/multi_point.hpp
+++ b/boost/geometry/algorithms/detail/within/multi_point.hpp
@@ -1,6 +1,10 @@
// Boost.Geometry
-// Copyright (c) 2017-2020, Oracle and/or its affiliates.
+// Copyright (c) 2023 Adam Wulkiewicz, Lodz, Poland.
+
+// Copyright (c) 2017-2023, Oracle and/or its affiliates.
+
+// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
@@ -38,6 +42,7 @@
#include <boost/geometry/strategies/covered_by.hpp>
#include <boost/geometry/strategies/disjoint.hpp>
+#include <boost/geometry/util/condition.hpp>
#include <boost/geometry/util/type_traits.hpp>
@@ -55,8 +60,7 @@ struct multi_point_point
{
auto const s = strategy.relate(multi_point, point);
- typedef typename boost::range_const_iterator<MultiPoint>::type iterator;
- for ( iterator it = boost::begin(multi_point) ; it != boost::end(multi_point) ; ++it )
+ for (auto it = boost::begin(multi_point); it != boost::end(multi_point); ++it)
{
if (! s.apply(*it, point))
{
@@ -78,8 +82,7 @@ struct multi_point_multi_point
Strategy const& /*strategy*/)
{
typedef typename boost::range_value<MultiPoint2>::type point2_type;
- typedef typename Strategy::cs_tag cs_tag;
- typedef geometry::less<void, -1, cs_tag> less_type;
+ typedef geometry::less<void, -1, Strategy> less_type;
less_type const less = less_type();
@@ -88,8 +91,7 @@ struct multi_point_multi_point
bool result = false;
- typedef typename boost::range_const_iterator<MultiPoint1>::type iterator;
- for ( iterator it = boost::begin(multi_point1) ; it != boost::end(multi_point1) ; ++it )
+ for (auto it = boost::begin(multi_point1); it != boost::end(multi_point1); ++it)
{
if (! std::binary_search(points2.begin(), points2.end(), *it, less))
{
@@ -134,13 +136,12 @@ struct multi_point_single_geometry
// If in the exterior, break
bool result = false;
- typedef typename boost::range_const_iterator<MultiPoint>::type iterator;
- for ( iterator it = boost::begin(multi_point) ; it != boost::end(multi_point) ; ++it )
+ for (auto it = boost::begin(multi_point); it != boost::end(multi_point); ++it )
{
typedef decltype(strategy.covered_by(*it, box)) point_in_box_type;
int in_val = 0;
-
+
// exterior of box and of geometry
if (! point_in_box_type::apply(*it, box)
|| (in_val = point_in_geometry(*it, linear_or_areal, strategy)) < 0)
@@ -198,8 +199,7 @@ struct multi_point_multi_geometry
// If a point is in the exterior break
bool result = false;
- typedef typename boost::range_const_iterator<MultiPoint>::type iterator;
- for ( iterator it = boost::begin(multi_point) ; it != boost::end(multi_point) ; ++it )
+ for (auto it = boost::begin(multi_point); it != boost::end(multi_point); ++it)
{
// TODO: investigate the possibility of using satisfies
// TODO: investigate the possibility of using iterative queries (optimization below)
@@ -238,7 +238,7 @@ struct multi_point_multi_geometry
if (boundaries > 0)
{
- if (is_linear && boundaries % 2 == 0)
+ if (BOOST_GEOMETRY_CONDITION(is_linear) && boundaries % 2 == 0)
{
found_interior = true;
}