diff options
Diffstat (limited to 'boost/geometry/algorithms/detail/check_iterator_range.hpp')
-rw-r--r-- | boost/geometry/algorithms/detail/check_iterator_range.hpp | 71 |
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 |