[libcxx-commits] [libcxx] Also update __gnu_cxx::hash_XXX after (#151951) (PR #160305)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 23 07:11:11 PDT 2025
https://github.com/asmok-g created https://github.com/llvm/llvm-project/pull/160305
Addressing report: https://github.com/llvm/llvm-project/pull/151951#issuecomment-3324120931
>From 6175622c1a042ff59d91f73072af7183e22f2f64 Mon Sep 17 00:00:00 2001
From: Asmaa AbdelGhany <asmok at google.com>
Date: Tue, 23 Sep 2025 15:54:50 +0200
Subject: [PATCH] Also update __gnu_cxx::hash_XXX after (#151951)
Addressing report: https://github.com/llvm/llvm-project/pull/151951#issuecomment-3324120931
---
libcxx/include/ext/hash_map | 16 ++--------------
libcxx/include/ext/hash_set | 16 ++--------------
2 files changed, 4 insertions(+), 28 deletions(-)
diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map
index 70c2fbeec2959..73ebe134c6645 100644
--- a/libcxx/include/ext/hash_map
+++ b/libcxx/include/ext/hash_map
@@ -472,7 +472,7 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
- _LIBCPP_HIDE_FROM_ABI hash_map(const hash_map& __u);
+ _LIBCPP_HIDE_FROM_ABI hash_map(const hash_map& __u) = default;
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return allocator_type(__table_.__node_alloc()); }
@@ -569,12 +569,6 @@ hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(
insert(__first, __last);
}
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_map(const hash_map& __u) : __table_(__u.__table_) {
- __table_.__rehash_unique(__u.bucket_count());
- insert(__u.begin(), __u.end());
-}
-
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
typename hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(const key_type& __k) {
@@ -696,7 +690,7 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
- _LIBCPP_HIDE_FROM_ABI hash_multimap(const hash_multimap& __u);
+ _LIBCPP_HIDE_FROM_ABI hash_multimap(const hash_multimap& __u) = default;
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return allocator_type(__table_.__node_alloc()); }
@@ -786,12 +780,6 @@ hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
insert(__first, __last);
}
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(const hash_multimap& __u) : __table_(__u.__table_) {
- __table_.__rehash_multi(__u.bucket_count());
- insert(__u.begin(), __u.end());
-}
-
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
inline void hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) {
diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set
index 62a7a0dbcffb9..29e258ca382f8 100644
--- a/libcxx/include/ext/hash_set
+++ b/libcxx/include/ext/hash_set
@@ -265,7 +265,7 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
- _LIBCPP_HIDE_FROM_ABI hash_set(const hash_set& __u);
+ _LIBCPP_HIDE_FROM_ABI hash_set(const hash_set& __u) = default;
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return allocator_type(__table_.__node_alloc()); }
@@ -355,12 +355,6 @@ hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
insert(__first, __last);
}
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(const hash_set& __u) : __table_(__u.__table_) {
- __table_.__rehash_unique(__u.bucket_count());
- insert(__u.begin(), __u.end());
-}
-
template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
inline void hash_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) {
@@ -445,7 +439,7 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
- _LIBCPP_HIDE_FROM_ABI hash_multiset(const hash_multiset& __u);
+ _LIBCPP_HIDE_FROM_ABI hash_multiset(const hash_multiset& __u) = default;
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const { return allocator_type(__table_.__node_alloc()); }
@@ -533,12 +527,6 @@ hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
insert(__first, __last);
}
-template <class _Value, class _Hash, class _Pred, class _Alloc>
-hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(const hash_multiset& __u) : __table_(__u.__table_) {
- __table_.__rehash_multi(__u.bucket_count());
- insert(__u.begin(), __u.end());
-}
-
template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
inline void hash_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) {
More information about the libcxx-commits
mailing list