summaryrefslogtreecommitdiffstats
path: root/contrib/src/boost/algorithm/string/detail/predicate.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/src/boost/algorithm/string/detail/predicate.hpp')
-rw-r--r--contrib/src/boost/algorithm/string/detail/predicate.hpp154
1 files changed, 77 insertions, 77 deletions
diff --git a/contrib/src/boost/algorithm/string/detail/predicate.hpp b/contrib/src/boost/algorithm/string/detail/predicate.hpp
index bd95d40..5acf3cc 100644
--- a/contrib/src/boost/algorithm/string/detail/predicate.hpp
+++ b/contrib/src/boost/algorithm/string/detail/predicate.hpp
@@ -1,77 +1,77 @@
-// Boost string_algo library predicate.hpp header file ---------------------------//
-
-// Copyright Pavol Droba 2002-2003.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/ for updates, documentation, and revision history.
-
-#ifndef BOOST_STRING_PREDICATE_DETAIL_HPP
-#define BOOST_STRING_PREDICATE_DETAIL_HPP
-
-#include <iterator>
-#include <boost/algorithm/string/find.hpp>
-
-namespace boost {
- namespace algorithm {
- namespace detail {
-
-// ends_with predicate implementation ----------------------------------//
-
- template<
- typename ForwardIterator1T,
- typename ForwardIterator2T,
- typename PredicateT>
- inline bool ends_with_iter_select(
- ForwardIterator1T Begin,
- ForwardIterator1T End,
- ForwardIterator2T SubBegin,
- ForwardIterator2T SubEnd,
- PredicateT Comp,
- std::bidirectional_iterator_tag)
- {
- ForwardIterator1T it=End;
- ForwardIterator2T pit=SubEnd;
- for(;it!=Begin && pit!=SubBegin;)
- {
- if( !(Comp(*(--it),*(--pit))) )
- return false;
- }
-
- return pit==SubBegin;
- }
-
- template<
- typename ForwardIterator1T,
- typename ForwardIterator2T,
- typename PredicateT>
- inline bool ends_with_iter_select(
- ForwardIterator1T Begin,
- ForwardIterator1T End,
- ForwardIterator2T SubBegin,
- ForwardIterator2T SubEnd,
- PredicateT Comp,
- std::forward_iterator_tag)
- {
- if ( SubBegin==SubEnd )
- {
- // empty subsequence check
- return true;
- }
-
- iterator_range<ForwardIterator1T> Result
- =last_finder(
- ::boost::make_iterator_range(SubBegin, SubEnd),
- Comp)(Begin, End);
-
- return !Result.empty() && Result.end()==End;
- }
-
- } // namespace detail
- } // namespace algorithm
-} // namespace boost
-
-
-#endif // BOOST_STRING_PREDICATE_DETAIL_HPP
+// Boost string_algo library predicate.hpp header file ---------------------------//
+
+// Copyright Pavol Droba 2002-2003.
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/ for updates, documentation, and revision history.
+
+#ifndef BOOST_STRING_PREDICATE_DETAIL_HPP
+#define BOOST_STRING_PREDICATE_DETAIL_HPP
+
+#include <iterator>
+#include <boost/algorithm/string/find.hpp>
+
+namespace boost {
+ namespace algorithm {
+ namespace detail {
+
+// ends_with predicate implementation ----------------------------------//
+
+ template<
+ typename ForwardIterator1T,
+ typename ForwardIterator2T,
+ typename PredicateT>
+ inline bool ends_with_iter_select(
+ ForwardIterator1T Begin,
+ ForwardIterator1T End,
+ ForwardIterator2T SubBegin,
+ ForwardIterator2T SubEnd,
+ PredicateT Comp,
+ std::bidirectional_iterator_tag)
+ {
+ ForwardIterator1T it=End;
+ ForwardIterator2T pit=SubEnd;
+ for(;it!=Begin && pit!=SubBegin;)
+ {
+ if( !(Comp(*(--it),*(--pit))) )
+ return false;
+ }
+
+ return pit==SubBegin;
+ }
+
+ template<
+ typename ForwardIterator1T,
+ typename ForwardIterator2T,
+ typename PredicateT>
+ inline bool ends_with_iter_select(
+ ForwardIterator1T Begin,
+ ForwardIterator1T End,
+ ForwardIterator2T SubBegin,
+ ForwardIterator2T SubEnd,
+ PredicateT Comp,
+ std::forward_iterator_tag)
+ {
+ if ( SubBegin==SubEnd )
+ {
+ // empty subsequence check
+ return true;
+ }
+
+ iterator_range<ForwardIterator1T> Result
+ =last_finder(
+ ::boost::make_iterator_range(SubBegin, SubEnd),
+ Comp)(Begin, End);
+
+ return !Result.empty() && Result.end()==End;
+ }
+
+ } // namespace detail
+ } // namespace algorithm
+} // namespace boost
+
+
+#endif // BOOST_STRING_PREDICATE_DETAIL_HPP