mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-18 18:34:16 +08:00
d87105d697
This avoids the tuple-like API for std::pair in the unordered containers, removing some overly generic code. The _Select1st projection can figure out the member types of a std::pair without using decltype(std::get<0>(...)). We don't need _Select2nd because it's only needed in _NodeBuilder::_S_build, and that can just access the .second member of the pair directly. The return type of that function doesn't need to be deduced by decltype, we can just expose the __node_type typedef of the node generator. libstdc++-v3/ChangeLog: * include/bits/hashtable_policy.h (_Select1st): Replace use of std::get. (_Select2nd): Remove. (_NodeBuilder::_S_build): Use _NodeGenerator::__node_type typedef instead of deducing it. Remove unnecessary piecewise construction. (_ReuseOrAllocNode): Make __node_type public. (_Map_base): Adjust partial specialization to be able to extract the mapped_type without using tuple_element. (_Map_base::at): Define inline * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove XFAIL. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. |
||
---|---|---|
.. | ||
17_intro | ||
18_support | ||
19_diagnostics | ||
20_util | ||
21_strings | ||
22_locale | ||
23_containers | ||
24_iterators | ||
25_algorithms | ||
26_numerics | ||
27_io | ||
28_regex | ||
29_atomics | ||
30_threads | ||
abi | ||
backward | ||
config | ||
data | ||
decimal | ||
experimental | ||
ext | ||
lib | ||
libstdc++-abi | ||
libstdc++-dg | ||
libstdc++-prettyprinters | ||
libstdc++-xmethods | ||
performance | ||
special_functions | ||
std | ||
tr1 | ||
tr2 | ||
util | ||
Makefile.am | ||
Makefile.in |