diff options
author | François Dumont <fdumont@gcc.gnu.org> | 2012-08-03 19:34:49 +0000 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2012-08-03 19:34:49 +0000 |
commit | 4d02a6956be69027ca357ef30b835bd1575580ac (patch) | |
tree | 955c2c5be91389fca2a91f51a44dfdd6ec1e006f /libstdc++-v3 | |
parent | a6de48da4d6b124bee8fbee74e0bfc482aab0081 (diff) | |
download | gcc-4d02a6956be69027ca357ef30b835bd1575580ac.zip gcc-4d02a6956be69027ca357ef30b835bd1575580ac.tar.gz gcc-4d02a6956be69027ca357ef30b835bd1575580ac.tar.bz2 |
functions.h (__check_partition_lower_aux): Remove redundant comparison with pivot value.
2012-08-03 François Dumont <fdumont@gcc.gnu.org>
* include/debug/functions.h (__check_partition_lower_aux): Remove
redundant comparison with pivot value.
(__check_partition_upper_aux): Likewise.
From-SVN: r190134
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/functions.h | 80 |
2 files changed, 62 insertions, 24 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3e94f24..546bdee 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2012-08-03 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/functions.h (__check_partition_lower_aux): Remove + redundant comparison with pivot value. + (__check_partition_upper_aux): Likewise. + 2012-08-03 Ollie Wild <aaw@google.com> Richard Smith <richardsmith@google.com> diff --git a/libstdc++-v3/include/debug/functions.h b/libstdc++-v3/include/debug/functions.h index b2817d5..b59309e 100644 --- a/libstdc++-v3/include/debug/functions.h +++ b/libstdc++-v3/include/debug/functions.h @@ -354,8 +354,12 @@ namespace __gnu_debug { while (__first != __last && *__first < __value) ++__first; - while (__first != __last && !(*__first < __value)) - ++__first; + if (__first != __last) + { + ++__first; + while (__first != __last && !(*__first < __value)) + ++__first; + } return __first == __last; } @@ -368,8 +372,10 @@ namespace __gnu_debug const _Safe_iterator<_Iterator, _Sequence>& __last, const _Tp& __value, std::random_access_iterator_tag __tag) - { return __check_partitioned_lower_aux(__first.base(), __last.base(), - __value, __tag); } + { + return __check_partitioned_lower_aux(__first.base(), __last.base(), + __value, __tag); + } // _GLIBCXX_RESOLVE_LIB_DEFECTS // 270. Binary search requirements overly strict @@ -378,8 +384,10 @@ namespace __gnu_debug inline bool __check_partitioned_lower(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) - { return __check_partitioned_lower_aux(__first, __last, __value, - std::__iterator_category(__first)); } + { + return __check_partitioned_lower_aux(__first, __last, __value, + std::__iterator_category(__first)); + } template<typename _ForwardIterator, typename _Tp> inline bool @@ -389,8 +397,12 @@ namespace __gnu_debug { while (__first != __last && !(__value < *__first)) ++__first; - while (__first != __last && __value < *__first) - ++__first; + if (__first != __last) + { + ++__first; + while (__first != __last && __value < *__first) + ++__first; + } return __first == __last; } @@ -403,15 +415,19 @@ namespace __gnu_debug const _Safe_iterator<_Iterator, _Sequence>& __last, const _Tp& __value, std::random_access_iterator_tag __tag) - { return __check_partitioned_upper_aux(__first.base(), __last.base(), - __value, __tag); } + { + return __check_partitioned_upper_aux(__first.base(), __last.base(), + __value, __tag); + } template<typename _ForwardIterator, typename _Tp> inline bool __check_partitioned_upper(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) - { return __check_partitioned_upper_aux(__first, __last, __value, - std::__iterator_category(__first)); } + { + return __check_partitioned_upper_aux(__first, __last, __value, + std::__iterator_category(__first)); + } template<typename _ForwardIterator, typename _Tp, typename _Pred> inline bool @@ -422,8 +438,12 @@ namespace __gnu_debug { while (__first != __last && bool(__pred(*__first, __value))) ++__first; - while (__first != __last && !bool(__pred(*__first, __value))) - ++__first; + if (__first != __last) + { + ++__first; + while (__first != __last && !bool(__pred(*__first, __value))) + ++__first; + } return __first == __last; } @@ -437,8 +457,10 @@ namespace __gnu_debug const _Safe_iterator<_Iterator, _Sequence>& __last, const _Tp& __value, _Pred __pred, std::random_access_iterator_tag __tag) - { return __check_partitioned_lower_aux(__first.base(), __last.base(), - __value, __pred, __tag); } + { + return __check_partitioned_lower_aux(__first.base(), __last.base(), + __value, __pred, __tag); + } // Determine if a sequence is partitioned w.r.t. this element. template<typename _ForwardIterator, typename _Tp, typename _Pred> @@ -446,8 +468,10 @@ namespace __gnu_debug __check_partitioned_lower(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Pred __pred) - { return __check_partitioned_lower_aux(__first, __last, __value, __pred, - std::__iterator_category(__first)); } + { + return __check_partitioned_lower_aux(__first, __last, __value, __pred, + std::__iterator_category(__first)); + } template<typename _ForwardIterator, typename _Tp, typename _Pred> inline bool @@ -458,8 +482,12 @@ namespace __gnu_debug { while (__first != __last && !bool(__pred(__value, *__first))) ++__first; - while (__first != __last && bool(__pred(__value, *__first))) - ++__first; + if (__first != __last) + { + ++__first; + while (__first != __last && bool(__pred(__value, *__first))) + ++__first; + } return __first == __last; } @@ -473,16 +501,20 @@ namespace __gnu_debug const _Safe_iterator<_Iterator, _Sequence>& __last, const _Tp& __value, _Pred __pred, std::random_access_iterator_tag __tag) - { return __check_partitioned_upper_aux(__first.base(), __last.base(), - __value, __pred, __tag); } + { + return __check_partitioned_upper_aux(__first.base(), __last.base(), + __value, __pred, __tag); + } template<typename _ForwardIterator, typename _Tp, typename _Pred> inline bool __check_partitioned_upper(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Pred __pred) - { return __check_partitioned_upper_aux(__first, __last, __value, __pred, - std::__iterator_category(__first)); } + { + return __check_partitioned_upper_aux(__first, __last, __value, __pred, + std::__iterator_category(__first)); + } // Helper struct to detect random access safe iterators. template<typename _Iterator> |