OSDN Git Service

2010-10-28 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Oct 2010 16:01:05 +0000 (16:01 +0000)
commit802d83c31a1be0063de7ee1e328c44635e592330
tree8c058c4b504e6a5cbf998753e6c41978cf0ba81f
parent7899be63a386ee42db6177cb40d68d9f03e078ab
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166030 138bc75d-0d04-0410-961f-82ee72b054a4
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