summaryrefslogtreecommitdiff
path: root/boost/geometry/algorithms/detail/check_iterator_range.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/algorithms/detail/check_iterator_range.hpp')
-rw-r--r--boost/geometry/algorithms/detail/check_iterator_range.hpp71
1 files changed, 0 insertions, 71 deletions
diff --git a/boost/geometry/algorithms/detail/check_iterator_range.hpp b/boost/geometry/algorithms/detail/check_iterator_range.hpp
deleted file mode 100644
index 9bd1d7ae27..0000000000
--- a/boost/geometry/algorithms/detail/check_iterator_range.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-
-// Copyright (c) 2014, Oracle and/or its affiliates.
-
-// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
-
-// Licensed under the Boost Software License version 1.0.
-// http://www.boost.org/users/license.html
-
-#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP
-#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP
-
-#include <boost/core/ignore_unused.hpp>
-
-
-namespace boost { namespace geometry
-{
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
-// Check whether (each element of) an iterator range satisfies a given
-// predicate.
-// The predicate must be implemented as having a static apply unary
-// method that returns a bool.
-// By default an empty range is accepted
-template <typename Predicate, bool AllowEmptyRange = true>
-struct check_iterator_range
-{
- template <typename InputIterator>
- static inline bool apply(InputIterator first, InputIterator beyond)
- {
- for (InputIterator it = first; it != beyond; ++it)
- {
- if (! Predicate::apply(*it))
- {
- return false;
- }
- }
- return AllowEmptyRange || first != beyond;
- }
-
-
- // version where we can pass a predicate object
- template <typename InputIterator>
- static inline bool apply(InputIterator first,
- InputIterator beyond,
- Predicate const& predicate)
- {
- // in case predicate's apply method is static, MSVC will
- // complain that predicate is not used
- boost::ignore_unused(predicate);
-
- for (InputIterator it = first; it != beyond; ++it)
- {
- if (! predicate.apply(*it))
- {
- return false;
- }
- }
- return AllowEmptyRange || first != beyond;
- }
-};
-
-} // namespace detail
-#endif // DOXYGEN_NO_DETAIL
-
-}} // namespace boost::geometry
-
-#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CHECK_ITERATOR_RANGE_HPP