summaryrefslogtreecommitdiff
path: root/libcxx/include/unordered_map
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/include/unordered_map')
-rw-r--r--libcxx/include/unordered_map26
1 files changed, 18 insertions, 8 deletions
diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
index ad17f776c938..6156cfddd7bd 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -386,10 +386,12 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
noexcept(noexcept(x.swap(y)));
template <class K, class T, class H, class P, class A, class Predicate>
- void erase_if(unordered_set<K, T, H, P, A>& c, Predicate pred); // C++20
+ typename unordered_map<K, T, H, P, A>::size_type
+ erase_if(unordered_map<K, T, H, P, A>& c, Predicate pred); // C++20
template <class K, class T, class H, class P, class A, class Predicate>
- void erase_if(unordered_multiset<K, T, H, P, A>& c, Predicate pred); // C++20
+ typename unordered_multimap<K, T, H, P, A>::size_type
+ erase_if(unordered_multimap<K, T, H, P, A>& c, Predicate pred); // C++20
template <class Key, class T, class Hash, class Pred, class Alloc>
bool
@@ -1704,10 +1706,14 @@ swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
}
#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
+template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
+ class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
+ typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type
+ erase_if(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __c,
+ _Predicate __pred) {
+ return __libcpp_erase_if_container(__c, __pred);
+}
#endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
@@ -2402,10 +2408,14 @@ swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
}
#if _LIBCPP_STD_VER > 17
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
+template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
+ class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY
-void erase_if(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred)
-{ __libcpp_erase_if_container(__c, __pred); }
+ typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type
+ erase_if(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __c,
+ _Predicate __pred) {
+ return __libcpp_erase_if_container(__c, __pred);
+}
#endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>