Adjust extension types to use allocator_traits
authorJonathan Wakely <jwakely@redhat.com>
Wed, 23 Oct 2019 16:14:28 +0000 (17:14 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 23 Oct 2019 16:14:28 +0000 (17:14 +0100)
commit603aec6775d5191fafd57412364578db68432f74
treeeecdf7326f959268b1d3a3dc997d14369a6b8f5a
parent2ccbd21ded6eae4e099ccb1b5952dd3337875087
Adjust extension types to use allocator_traits

This makes these extensions work with types meeting the Cpp17Allocator
requirements as well as the C++98 Allocator requirements.

* include/backward/hash_set (hash_set): Use __alloc_traits.
* include/backward/hashtable.h (_Hashtable): Likewise.
* include/ext/alloc_traits.h (__alloc_traits::allocate): Add overload
taking a hint.
* include/ext/extptr_allocator.h (_ExtPtr_allocator::allocate): Ignore
hint.
* include/ext/slist (_Slist_base): Use __alloc_traits.
* include/tr1/hashtable.h (_Hashtable): Likewise.
* include/tr1/regex (match_results): Use vector::const_reference
instead of assuming the allocator defines it.
* testsuite/backward/hash_map/23528.cc: Use allocator_traits in C++11.
* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: Use
__gnu_test::max_size.
* testsuite/tr1/6_containers/unordered_multimap/capacity/
29134-multimap.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multiset/capacity/
29134-multiset.cc: Likewise.
* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
Likewise.

From-SVN: r277335
13 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/backward/hash_set
libstdc++-v3/include/backward/hashtable.h
libstdc++-v3/include/ext/alloc_traits.h
libstdc++-v3/include/ext/extptr_allocator.h
libstdc++-v3/include/ext/slist
libstdc++-v3/include/tr1/hashtable.h
libstdc++-v3/include/tr1/regex
libstdc++-v3/testsuite/backward/hash_map/23528.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc