@@ -518,13 +518,13 @@ public:
518518 _LIBCPP_HIDE_FROM_ABI __bucket_list_deallocator () _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
519519 : __size_(0 ) {}
520520
521- _LIBCPP_HIDE_FROM_ABI __bucket_list_deallocator (const allocator_type& __a, size_type __size)
522- _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
523- : __size_(__size), __alloc_(__a) {}
521+ _LIBCPP_HIDE_FROM_ABI __bucket_list_deallocator (const allocator_type& __a, size_type __size) _NOEXCEPT
522+ : __size_(__size),
523+ __alloc_(__a) {}
524524
525- _LIBCPP_HIDE_FROM_ABI __bucket_list_deallocator (__bucket_list_deallocator&& __x)
526- _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
527- : __size_(std::move(__x.__size_)), __alloc_(std::move(__x.__alloc_)) {
525+ _LIBCPP_HIDE_FROM_ABI __bucket_list_deallocator (__bucket_list_deallocator&& __x) _NOEXCEPT
526+ : __size_(std::move(__x.__size_)),
527+ __alloc_(std::move(__x.__alloc_)) {
528528 __x.size () = 0 ;
529529 }
530530
@@ -740,16 +740,14 @@ public:
740740 _LIBCPP_HIDE_FROM_ABI __hash_table (const __hash_table& __u, const allocator_type& __a);
741741 _LIBCPP_HIDE_FROM_ABI __hash_table (__hash_table&& __u) _NOEXCEPT_(
742742 is_nothrow_move_constructible<__bucket_list>::value&& is_nothrow_move_constructible<__first_node>::value&&
743- is_nothrow_move_constructible<__node_allocator>::value&& is_nothrow_move_constructible<hasher>::value&&
744- is_nothrow_move_constructible<key_equal>::value);
743+ is_nothrow_move_constructible<hasher>::value&& is_nothrow_move_constructible<key_equal>::value);
745744 _LIBCPP_HIDE_FROM_ABI __hash_table (__hash_table&& __u, const allocator_type& __a);
746745 _LIBCPP_HIDE_FROM_ABI ~__hash_table ();
747746
748747 _LIBCPP_HIDE_FROM_ABI __hash_table& operator =(const __hash_table& __u);
749748 _LIBCPP_HIDE_FROM_ABI __hash_table& operator =(__hash_table&& __u)
750749 _NOEXCEPT_ (is_nothrow_move_assignable<hasher>::value&& is_nothrow_move_assignable<key_equal>::value &&
751- ((__node_traits::propagate_on_container_move_assignment::value &&
752- is_nothrow_move_assignable<__node_allocator>::value) ||
750+ (__node_traits::propagate_on_container_move_assignment::value ||
753751 allocator_traits<__node_allocator>::is_always_equal::value));
754752 template <class _InputIterator >
755753 _LIBCPP_HIDE_FROM_ABI void __assign_unique (_InputIterator __first, _InputIterator __last);
@@ -944,14 +942,7 @@ public:
944942 _LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> __equal_range_multi (const _Key& __k) const ;
945943
946944 _LIBCPP_HIDE_FROM_ABI void swap (__hash_table& __u)
947- #if _LIBCPP_STD_VER <= 11
948- _NOEXCEPT_ (__is_nothrow_swappable_v<hasher>&& __is_nothrow_swappable_v<key_equal> &&
949- (!allocator_traits<__pointer_allocator>::propagate_on_container_swap::value ||
950- __is_nothrow_swappable_v<__pointer_allocator>) &&
951- (!__node_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>));
952- #else
953945 _NOEXCEPT_(__is_nothrow_swappable_v<hasher>&& __is_nothrow_swappable_v<key_equal>);
954- #endif
955946
956947 _LIBCPP_HIDE_FROM_ABI size_type max_bucket_count () const _NOEXCEPT { return max_size (); }
957948 _LIBCPP_HIDE_FROM_ABI size_type bucket_size (size_type __n) const ;
@@ -1011,15 +1002,11 @@ private:
10111002
10121003 _LIBCPP_HIDE_FROM_ABI void __move_assign (__hash_table& __u, false_type);
10131004 _LIBCPP_HIDE_FROM_ABI void __move_assign (__hash_table& __u, true_type)
1014- _NOEXCEPT_(is_nothrow_move_assignable<__node_allocator>::value&& is_nothrow_move_assignable<hasher>::value&&
1015- is_nothrow_move_assignable<key_equal>::value);
1016- _LIBCPP_HIDE_FROM_ABI void __move_assign_alloc (__hash_table& __u) _NOEXCEPT_(
1017- !__node_traits::propagate_on_container_move_assignment::value ||
1018- (is_nothrow_move_assignable<__pointer_allocator>::value && is_nothrow_move_assignable<__node_allocator>::value)) {
1005+ _NOEXCEPT_(is_nothrow_move_assignable<hasher>::value&& is_nothrow_move_assignable<key_equal>::value);
1006+ _LIBCPP_HIDE_FROM_ABI void __move_assign_alloc (__hash_table& __u) _NOEXCEPT {
10191007 __move_assign_alloc (__u, integral_constant<bool , __node_traits::propagate_on_container_move_assignment::value>());
10201008 }
1021- _LIBCPP_HIDE_FROM_ABI void __move_assign_alloc (__hash_table& __u, true_type) _NOEXCEPT_(
1022- is_nothrow_move_assignable<__pointer_allocator>::value&& is_nothrow_move_assignable<__node_allocator>::value) {
1009+ _LIBCPP_HIDE_FROM_ABI void __move_assign_alloc (__hash_table& __u, true_type) _NOEXCEPT {
10231010 __bucket_list_.get_deleter ().__alloc () = std::move (__u.__bucket_list_ .get_deleter ().__alloc ());
10241011 __node_alloc () = std::move (__u.__node_alloc ());
10251012 }
@@ -1132,8 +1119,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const __hash_table& __u,
11321119template <class _Tp , class _Hash , class _Equal , class _Alloc >
11331120__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(__hash_table&& __u) _NOEXCEPT_(
11341121 is_nothrow_move_constructible<__bucket_list>::value&& is_nothrow_move_constructible<__first_node>::value&&
1135- is_nothrow_move_constructible<__node_allocator>::value&& is_nothrow_move_constructible<hasher>::value&&
1136- is_nothrow_move_constructible<key_equal>::value)
1122+ is_nothrow_move_constructible<hasher>::value&& is_nothrow_move_constructible<key_equal>::value)
11371123 : __bucket_list_(std::move(__u.__bucket_list_)),
11381124 __first_node_ (std::move(__u.__first_node_)),
11391125 __node_alloc_(std::move(__u.__node_alloc_)),
@@ -1278,8 +1264,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__detach() _NOEXCEPT {
12781264
12791265template <class _Tp , class _Hash , class _Equal , class _Alloc >
12801266void __hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(__hash_table& __u, true_type)
1281- _NOEXCEPT_ (is_nothrow_move_assignable<__node_allocator>::value&& is_nothrow_move_assignable<hasher>::value&&
1282- is_nothrow_move_assignable<key_equal>::value) {
1267+ _NOEXCEPT_ (is_nothrow_move_assignable<hasher>::value&& is_nothrow_move_assignable<key_equal>::value) {
12831268 clear ();
12841269 __bucket_list_.reset (__u.__bucket_list_ .release ());
12851270 __bucket_list_.get_deleter ().size () = __u.__bucket_list_ .get_deleter ().size ();
@@ -1325,8 +1310,7 @@ void __hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(__hash_table& __u,
13251310template <class _Tp , class _Hash , class _Equal , class _Alloc >
13261311inline __hash_table<_Tp, _Hash, _Equal, _Alloc>& __hash_table<_Tp, _Hash, _Equal, _Alloc>::operator =(__hash_table&& __u)
13271312 _NOEXCEPT_ (is_nothrow_move_assignable<hasher>::value&& is_nothrow_move_assignable<key_equal>::value &&
1328- ((__node_traits::propagate_on_container_move_assignment::value &&
1329- is_nothrow_move_assignable<__node_allocator>::value) ||
1313+ (__node_traits::propagate_on_container_move_assignment::value ||
13301314 allocator_traits<__node_allocator>::is_always_equal::value)) {
13311315 __move_assign (__u, integral_constant<bool , __node_traits::propagate_on_container_move_assignment::value>());
13321316 return *this ;
@@ -2058,15 +2042,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__equal_range_multi(const _Key& __k) c
20582042
20592043template <class _Tp , class _Hash , class _Equal , class _Alloc >
20602044void __hash_table<_Tp, _Hash, _Equal, _Alloc>::swap(__hash_table& __u)
2061- #if _LIBCPP_STD_VER <= 11
2062- _NOEXCEPT_ (__is_nothrow_swappable_v<hasher>&& __is_nothrow_swappable_v<key_equal> &&
2063- (!allocator_traits<__pointer_allocator>::propagate_on_container_swap::value ||
2064- __is_nothrow_swappable_v<__pointer_allocator>) &&
2065- (!__node_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>))
2066- #else
2067- _NOEXCEPT_ (__is_nothrow_swappable_v<hasher>&& __is_nothrow_swappable_v<key_equal>)
2068- #endif
2069- {
2045+ _NOEXCEPT_ (__is_nothrow_swappable_v<hasher>&& __is_nothrow_swappable_v<key_equal>) {
20702046 _LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR (
20712047 __node_traits::propagate_on_container_swap::value || this ->__node_alloc () == __u.__node_alloc (),
20722048 " unordered container::swap: Either propagate_on_container_swap "
0 commit comments