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
This commit is contained in:
parent
defaac100c
commit
55ce980dc2
|
@ -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>
|
2006-10-06 Paolo Carlini <pcarlini@suse.de>
|
||||||
|
|
||||||
PR libstdc++/29368
|
PR libstdc++/29368
|
||||||
|
|
|
@ -1269,10 +1269,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||||
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
|
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
|
||||||
erase(const _Key& __x)
|
erase(const _Key& __x)
|
||||||
{
|
{
|
||||||
pair<iterator,iterator> __p = equal_range(__x);
|
pair<iterator, iterator> __p = equal_range(__x);
|
||||||
size_type __n = std::distance(__p.first, __p.second);
|
const size_type __old_size = size();
|
||||||
erase(__p.first, __p.second);
|
erase(__p.first, __p.second);
|
||||||
return __n;
|
return __old_size - size();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename _Key, typename _Val, typename _KoV,
|
template<typename _Key, typename _Val, typename _KoV,
|
||||||
|
|
Loading…
Reference in New Issue