gcc/libstdc++-v3
François Dumont d10b863fa3 libstdc++: Unordered containers merge re-use hash code
When merging 2 unordered containers with same hasher we can re-use the hash code from
the cache if any.

Also in the context of the merge operation on multi-container use previous insert iterator as a hint
for the next insert.

libstdc++-v3/ChangeLog:

	* include/bits/hashtable_policy.h:
	(_Hash_code_base<>::_M_hash_code(const _Hash&, const _Hash_node_value<_Value, true>&)): New.
	(_Hash_code_base<>::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): New.
	* include/bits/hashtable.h (_Hashtable<>::_M_merge_unique): Use latter.
	(_Hashtable<>::_M_merge_multi): Likewise.
	* testsuite/23_containers/unordered_multiset/modifiers/merge.cc (test05): New test.
	* testsuite/23_containers/unordered_set/modifiers/merge.cc (test04): New test.
2021-11-15 18:52:07 +01:00
..
config libstdc++: Print assertion messages to stderr [PR59675] 2021-11-12 12:23:10 +00:00
doc libstdc++: Deprecate std::unexpected and handler functions 2021-11-04 20:53:29 +00:00
include libstdc++: Unordered containers merge re-use hash code 2021-11-15 18:52:07 +01:00
libsupc++ libstdc++: Deprecate std::unexpected and handler functions 2021-11-04 20:53:29 +00:00
po Update copyright years. 2021-01-04 10:26:59 +01:00
python libstdc++: Fix pretty printing of std::unique_ptr [PR103086] 2021-11-04 22:50:02 +00:00
scripts libstdc++: Improve generated man pages for libstdc++ 2021-10-21 22:24:57 +01:00
src c++: check constexpr constructor body 2021-11-15 02:50:45 -05:00
testsuite libstdc++: Unordered containers merge re-use hash code 2021-11-15 18:52:07 +01:00
acinclude.m4 libstdc++: Use GCC_TRY_COMPILE_OR_LINK for getentropy, arc4random 2021-11-13 01:45:06 +01:00
aclocal.m4
ChangeLog Daily bump. 2021-11-15 00:16:20 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020 libstdc++: Fix typo in ChangeLog-2020 2021-01-13 11:02:13 +00:00
config.h.in libstdc++: Support getentropy and arc4random in std::random_device 2021-11-09 14:40:33 +00:00
configure libstdc++: Use GCC_TRY_COMPILE_OR_LINK for getentropy, arc4random 2021-11-13 01:45:06 +01:00
configure.ac libstdc++: Support getentropy and arc4random in std::random_device 2021-11-09 14:40:33 +00:00
configure.host Scope libstdc++ configuration for vxworks to all versions 2020-10-22 16:40:57 +00:00
crossconfig.m4 libstdc++: Check for TLS support on mingw cross-compilers 2021-09-15 09:49:33 +01:00
fragment.am libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
linkage.m4
Makefile.am Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.in libstdc++: Add C++ runtime support for new 128-bit long double format 2020-12-16 23:25:01 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.