diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map index 01ca7498f0cc1..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 -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 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,9 +780,6 @@ hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap( insert(__first, __last); } -template -hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(const hash_multimap& __u) : __table_(__u.__table_) {} - template template 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 -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 template 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 -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 template inline void hash_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, _InputIterator __last) {