This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Add std::unordered_* C++11 allocator support
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: François Dumont <frs dot dumont at gmail dot com>
- Cc: Paolo Carlini <paolo dot carlini at oracle dot com>, "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 21 Apr 2013 21:36:46 +0100
- Subject: Re: Add std::unordered_* C++11 allocator support
- References: <51438861 dot 9010207 at gmail dot com> <5145A358 dot 4020104 at oracle dot com> <CAH6eHdQjrkLFa2rNZnq9ndkBs4sgZ4EXgxSWW=LX0kOK4i88Ww at mail dot gmail dot com> <515B41F5 dot 4040207 at gmail dot com> <CAH6eHdRHGv9hFzoiVV3bGZ74UhVfawc+qkiQY9dS5CwCdW1p4A at mail dot gmail dot com> <CAH6eHdRuc=r2kSQ-xS921CbUBAfSp29h9apvUC3gjpJt+Z4O8A at mail dot gmail dot com> <5174472E dot 5020502 at gmail dot com>
On 21 April 2013 21:08, François Dumont wrote:
> Hi
>
> Here is another proposal with:
> - No attempt to remove const key
> - No attempt to use assignment operator
> - noexcept move constructor; I slightly modify a static assertion so that it
> checks that _M_bucket_index is noexcept qualified which depends on the
> noexcept qualification of the functors involved in bucket computation
>
> 2013-04-21 François Dumont <fdumont@gcc.gnu.org>
>
>
> * include/bits/hashtable_policy.h: Add C++11 allocator support.
> * include/bits/hashtable.h: Likewise.
> * include/bits/unordered_set.h: Likewise.
> * include/bits/unordered_map.h: Likewise.
> * include/debug/unordered_set: Likewise.
> * include/debug/unordered_map: Likewise.
> * include/std/unordered_set: Remove bits/algobase.h
> include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
> * include/std/unordered_map: Likewise.
> * testsuite/util/testsuite_counter_type.h: Add count of destructors.
> * testsuite/23_containers/unordered_set/
> not_default_constructible_hash_neg.cc: Adjust dg-error line number.
>
> * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
> * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
> * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
> * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
> * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
> * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
> * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
> * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
> * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
> New.
> * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
> * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
> New.
> * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
> * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
> * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
> * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
> * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
> * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
> * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
> New.
> * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
> * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
> * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
> New.
> * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
> * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
> New.
> * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
> * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
>
> Tested under Linux x86_64.
>
> Ok to commit ?
Yes, this is OK for trunk. Thanks very much!