PR libstdc++/44436 (partial)
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)
commitfb7342fd6f834c6786278eeb9d99d704c2f6a0a1
tree8c058c4b504e6a5cbf998753e6c41978cf0ba81f
parentd724c8f0a9ea6bbb8bfd10fc00754902093e40ce
PR libstdc++/44436 (partial)

2010-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/44436 (partial)
* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(_Pair&&), insert(const_iterator, value_type&&),
insert(const_iterator, _Pair&&)): Add.
(_M_allocate_node, _M_insert, _M_insert_bucket): Templatize.
* include/bits/hashtable_policy.h (__detail::_Select1st): Add; use
it throughout.
(_Map_base<>::operator[](_Key&&)): Add.
* include/bits/unordered_map.h: Use __detail::_Select1st throughout.
* include/debug/unordered_map: Update.
* include/debug/unordered_set: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/unordered_set: Likewise.
* testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add;
minor tweaks throughout, use deleted special members.
* testsuite/23_containers/unordered_map/insert/map_single_move-1.cc:
New.
* testsuite/23_containers/unordered_map/insert/map_single_move-2.cc:
Likewise.
* testsuite/23_containers/unordered_map/insert/array_syntax_move.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/
multimap_single_move-2.cc: Likewise.
* testsuite/23_containers/unordered_set/insert/set_single_move.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/insert/
multiset_single_move.cc: Likewise.

* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
Minor cosmetic changes.

From-SVN: r166030
17 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/hashtable.h
libstdc++-v3/include/bits/hashtable_policy.h
libstdc++-v3/include/bits/unordered_map.h
libstdc++-v3/include/debug/unordered_map
libstdc++-v3/include/debug/unordered_set
libstdc++-v3/include/profile/unordered_map
libstdc++-v3/include/profile/unordered_set
libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc
libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single_move-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/insert/set_single_move.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_rvalref.h