summaryrefslogtreecommitdiff
path: root/boost/geometry/algorithms/detail/disjoint/point_box.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/algorithms/detail/disjoint/point_box.hpp')
-rw-r--r--boost/geometry/algorithms/detail/disjoint/point_box.hpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/boost/geometry/algorithms/detail/disjoint/point_box.hpp b/boost/geometry/algorithms/detail/disjoint/point_box.hpp
index 2f1085ada9..2e6773d221 100644
--- a/boost/geometry/algorithms/detail/disjoint/point_box.hpp
+++ b/boost/geometry/algorithms/detail/disjoint/point_box.hpp
@@ -5,8 +5,8 @@
// Copyright (c) 2009-2015 Mateusz Loskot, London, UK.
// Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland
-// This file was modified by Oracle on 2013-2016.
-// Modifications copyright (c) 2013-2016, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2013-2017.
+// Modifications copyright (c) 2013-2017, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
@@ -28,7 +28,7 @@
#include <boost/geometry/core/tags.hpp>
#include <boost/geometry/algorithms/dispatch/disjoint.hpp>
-#include <boost/geometry/strategies/cartesian/point_in_box.hpp>
+#include <boost/geometry/strategies/disjoint.hpp>
namespace boost { namespace geometry
{
@@ -44,13 +44,13 @@ namespace detail { namespace disjoint
template <typename Point, typename Box>
inline bool disjoint_point_box(Point const& point, Box const& box)
{
+ typedef typename strategy::disjoint::services::default_strategy
+ <
+ Point, Box
+ >::type strategy_type;
+
// ! covered_by(point, box)
- return ! strategy::within::relate_point_box_loop
- <
- strategy::within::covered_by_range,
- Point, Box,
- 0, dimension<Point>::type::value
- >::apply(point, box);
+ return ! strategy_type::apply(point, box);
}
@@ -66,15 +66,11 @@ namespace dispatch
template <typename Point, typename Box, std::size_t DimensionCount>
struct disjoint<Point, Box, DimensionCount, point_tag, box_tag, false>
{
- static inline bool apply(Point const& point, Box const& box)
+ template <typename Strategy>
+ static inline bool apply(Point const& point, Box const& box, Strategy const& )
{
// ! covered_by(point, box)
- return ! strategy::within::relate_point_box_loop
- <
- strategy::within::covered_by_range,
- Point, Box,
- 0, DimensionCount
- >::apply(point, box);
+ return ! Strategy::apply(point, box);
}
};