aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@unitus.it>2003-09-30 19:03:52 +0200
committerPaolo Carlini <paolo@gcc.gnu.org>2003-09-30 17:03:52 +0000
commitcbc6c296e6ca87c85ec7d1c18a3c38cc78b765d5 (patch)
tree2782e5149b5643b912e59e2760a7ede4eea8d3a3
parent2ea247d37649742155a8b77327bc25b896709c59 (diff)
downloadgcc-cbc6c296e6ca87c85ec7d1c18a3c38cc78b765d5.zip
gcc-cbc6c296e6ca87c85ec7d1c18a3c38cc78b765d5.tar.gz
gcc-cbc6c296e6ca87c85ec7d1c18a3c38cc78b765d5.tar.bz2
stl_algo.h (search_n): Tweak, to spare the first --__n.
2003-09-30 Paolo Carlini <pcarlini@unitus.it> * include/bits/stl_algo.h (search_n): Tweak, to spare the first --__n. From-SVN: r71946
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_algo.h10
2 files changed, 9 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 410d65c..662541a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2003-09-30 Paolo Carlini <pcarlini@unitus.it>
+ * include/bits/stl_algo.h (search_n): Tweak, to spare the
+ first --__n.
+
+2003-09-30 Paolo Carlini <pcarlini@unitus.it>
+
* testsuite/22_locale/locale/cons/12352.cc: Explicitly
qualify exception name.
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index c92aa3c..c2fb871 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -610,14 +610,13 @@ namespace std
__first = std::find(__first, __last, __val);
while (__first != __last) {
typename iterator_traits<_ForwardIterator>::difference_type __n = __count;
- --__n;
_ForwardIterator __i = __first;
++__i;
- while (__i != __last && __n != 0 && *__i == __val) {
+ while (__i != __last && __n != 1 && *__i == __val) {
++__i;
--__n;
}
- if (__n == 0)
+ if (__n == 1)
return __first;
else
__first = std::find(__i, __last, __val);
@@ -663,14 +662,13 @@ namespace std
}
while (__first != __last) {
typename iterator_traits<_ForwardIterator>::difference_type __n = __count;
- --__n;
_ForwardIterator __i = __first;
++__i;
- while (__i != __last && __n != 0 && __binary_pred(*__i, __val)) {
+ while (__i != __last && __n != 1 && __binary_pred(*__i, __val)) {
++__i;
--__n;
}
- if (__n == 0)
+ if (__n == 1)
return __first;
else {
while (__i != __last) {