r256396 - in /trunk/libstdc++-v3: ChangeLog inc...
fdumont@gcc.gnu.org
fdumont@gcc.gnu.org
Tue Jan 9 21:05:00 GMT 2018
Author: fdumont
Date: Tue Jan 9 21:05:10 2018
New Revision: 256396
URL: https://gcc.gnu.org/viewcvs?rev=256396&root=gcc&view=rev
Log:
2018-01-09 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/83709
* include/bits/hashtable_policy.h
(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
__first != __last.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
Add false_type parameter.
(_Insert_base::insert): Adapt.
* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
Adapt.
(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
Add __n_elt parameter, defaulted to 1.
(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
policy _M_need_rehash.
(_Hashtable::_M_merge_unique): Pass target number of elements to add to
produce only 1 rehash if necessary.
* testsuite/23_containers/unordered_map/insert/83709.cc: New.
* testsuite/23_containers/unordered_set/insert/83709.cc: New.
Added:
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/insert/83709.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/insert/83709.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/hashtable.h
trunk/libstdc++-v3/include/bits/hashtable_policy.h
More information about the Gcc-cvs
mailing list