From 55ce980dc27b2fef4af65a4ec92b37c229585a82 Mon Sep 17 00:00:00 2001 From: Ion Gaztanaga Date: Sat, 7 Oct 2006 08:20:35 +0000 Subject: [PATCH] stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't call std::distance unnecessarily. 2006-10-07 Ion Gaztanaga Paolo Carlini * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't call std::distance unnecessarily. Co-Authored-By: Paolo Carlini From-SVN: r117529 --- libstdc++-v3/ChangeLog | 6 ++++++ 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 057d0eb6198..f37f19a9d69 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2006-10-07 Ion Gaztanaga + Paolo Carlini + + * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't + call std::distance unnecessarily. + 2006-10-06 Paolo Carlini PR libstdc++/29368 diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index e1efe0a6d2c..96b7a52b9d3 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 __p = equal_range(__x); - size_type __n = std::distance(__p.first, __p.second); + pair __p = equal_range(__x); + const size_type __old_size = size(); erase(__p.first, __p.second); - return __n; + return __old_size - size(); } template