diff options
author | Ion Gaztanaga <igaztanaga@gmail.com> | 2006-10-07 08:20:35 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2006-10-07 08:20:35 +0000 |
commit | 55ce980dc27b2fef4af65a4ec92b37c229585a82 (patch) | |
tree | 2d0d356d055020d007ff0cd0019e14cecab7d677 | |
parent | defaac100c5785445d68a4ad630445fe18d4aa3d (diff) | |
download | gcc-55ce980dc27b2fef4af65a4ec92b37c229585a82.zip gcc-55ce980dc27b2fef4af65a4ec92b37c229585a82.tar.gz gcc-55ce980dc27b2fef4af65a4ec92b37c229585a82.tar.bz2 |
stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't call std::distance unnecessarily.
2006-10-07 Ion Gaztanaga <igaztanaga@gmail.com>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't
call std::distance unnecessarily.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r117529
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_tree.h | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 057d0eb..f37f19a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2006-10-07 Ion Gaztanaga <igaztanaga@gmail.com> + Paolo Carlini <pcarlini@suse.de> + + * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't + call std::distance unnecessarily. + 2006-10-06 Paolo Carlini <pcarlini@suse.de> PR libstdc++/29368 diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index e1efe0a..96b7a52 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -1269,10 +1269,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key& __x) { - pair<iterator,iterator> __p = equal_range(__x); - size_type __n = std::distance(__p.first, __p.second); + pair<iterator, iterator> __p = equal_range(__x); + const size_type __old_size = size(); erase(__p.first, __p.second); - return __n; + return __old_size - size(); } template<typename _Key, typename _Val, typename _KoV, |