Commit 6d24de83 by François Dumont Committed by François Dumont

unordered_map (unordered_map<>::_M_profile_size): Simplify, don't take a…

unordered_map (unordered_map<>::_M_profile_size): Simplify, don't take a __new_size argument; adjust all callers.

2010-11-10  François Dumont  <francois.cppdevs@free.fr>

        * include/profile/unordered_map (unordered_map<>::_M_profile_size): 
        Simplify, don't take a __new_size argument; adjust all callers.

From-SVN: r166560
parent 5a4b6c0e
2010-11-10 François Dumont <francois.cppdevs@free.fr>
* include/profile/unordered_map (unordered_map<>::_M_profile_size):
Simplify, don't take a __new_size argument; adjust all callers.
2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44436 (partial)
......@@ -1524,13 +1529,13 @@
2010-09-03 François Dumont <francois.cppdevs@free.fr>
* testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
that it really detects when debug mode is activated.
* testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
Remove, content moved...
* testsuite/util/debug/checks.h: ... here. Modify checks to take the
* testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
that it really detects when debug mode is activated.
* testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
Remove, content moved...
* testsuite/util/debug/checks.h: ... here. Modify checks to take the
type of the container to test rather than an intermediate container
type traits helper.
type traits helper.
* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
use dg-require-debug-mode when necessary and use new check functions.
* testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
......
......@@ -170,7 +170,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
_Base::insert(__l);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
}
std::pair<iterator, bool>
......@@ -178,7 +178,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
std::pair<iterator, bool> __res = _Base::insert(__obj);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -187,7 +187,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
iterator __res = _Base::insert(__iter, __v);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -200,7 +200,7 @@ namespace __profile
size_type __old_size = _Base::bucket_count();
std::pair<iterator, bool> __res
= _Base::insert(std::forward<_Pair>(__obj));
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -212,7 +212,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
iterator __res = _Base::insert(__iter, std::forward<_Pair>(__v));
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -222,7 +222,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
_Base::insert(__first, __last);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
}
void
......@@ -230,7 +230,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
_Base::insert(__first, __last);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
}
// operator[]
......@@ -239,8 +239,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
mapped_type& __res = _M_base()[__k];
size_type __new_size = _Base::bucket_count();
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -249,8 +248,7 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
mapped_type& __res = _M_base()[std::move(__k)];
size_type __new_size = _Base::bucket_count();
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
return __res;
}
......@@ -262,13 +260,14 @@ namespace __profile
{
size_type __old_size = _Base::bucket_count();
_Base::rehash(__n);
_M_profile_resize(__old_size, _Base::bucket_count());
_M_profile_resize(__old_size);
}
private:
void
_M_profile_resize(size_type __old_size, size_type __new_size)
_M_profile_resize(size_type __old_size)
{
size_type __new_size = _Base::bucket_count();
if (__old_size != __new_size)
__profcxx_hashtable_resize(this, __old_size, __new_size);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment