Commit 58b9f26a by Jim Xochellis Committed by Paolo Carlini

stl_algo.h (search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2,…

stl_algo.h (search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)): Tidy.

2007-07-09  Jim Xochellis  <jimxoch@yahoo.gr>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (search(_ForwardIterator1,
	_ForwardIterator1, _ForwardIterator2, _ForwardIterator2)): Tidy.
	(search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2,
	_ForwardIterator2, _BinaryPredicate)): Likewise.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r126479
parent 57728874
2007-07-09 Jim Xochellis <jimxoch@yahoo.gr>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (search(_ForwardIterator1,
_ForwardIterator1, _ForwardIterator2, _ForwardIterator2)): Tidy.
(search(_ForwardIterator1, _ForwardIterator1, _ForwardIterator2,
_ForwardIterator2, _BinaryPredicate)): Likewise.
2007-07-06 Hans-Peter Nilsson <hp@axis.com> 2007-07-06 Hans-Peter Nilsson <hp@axis.com>
* testsuite/lib/libstdc++.exp (v3-build_support): Use env(AR) * testsuite/lib/libstdc++.exp (v3-build_support): Use env(AR)
......
...@@ -624,19 +624,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -624,19 +624,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename iterator_traits<_ForwardIterator2>::value_type>) typename iterator_traits<_ForwardIterator2>::value_type>)
__glibcxx_requires_valid_range(__first1, __last1); __glibcxx_requires_valid_range(__first1, __last1);
__glibcxx_requires_valid_range(__first2, __last2); __glibcxx_requires_valid_range(__first2, __last2);
// Test for empty ranges // Test for empty ranges
if (__first1 == __last1 || __first2 == __last2) if (__first1 == __last1 || __first2 == __last2)
return __first1; return __first1;
// Test for a pattern of length 1. // Test for a pattern of length 1.
_ForwardIterator2 __tmp(__first2); _ForwardIterator2 __p1(__first2);
++__tmp; if (++__p1 == __last2)
if (__tmp == __last2)
return std::find(__first1, __last1, *__first2); return std::find(__first1, __last1, *__first2);
// General case. // General case.
_ForwardIterator2 __p1, __p; _ForwardIterator2 __p;
__p1 = __first2; ++__p1;
_ForwardIterator1 __current = __first1; _ForwardIterator1 __current = __first1;
for (;;) for (;;)
...@@ -703,9 +702,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -703,9 +702,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __first1; return __first1;
// Test for a pattern of length 1. // Test for a pattern of length 1.
_ForwardIterator2 __tmp(__first2); _ForwardIterator2 __p1(__first2);
++__tmp; if (++__p1 == __last2)
if (__tmp == __last2)
{ {
while (__first1 != __last1 while (__first1 != __last1
&& !bool(__predicate(*__first1, *__first2))) && !bool(__predicate(*__first1, *__first2)))
...@@ -714,8 +712,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -714,8 +712,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} }
// General case. // General case.
_ForwardIterator2 __p1, __p; _ForwardIterator2 __p;
__p1 = __first2; ++__p1;
_ForwardIterator1 __current = __first1; _ForwardIterator1 __current = __first1;
for (;;) for (;;)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment