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