@@ -50,16 +50,16 @@ inline namespace fundamentals_v2
inline void
erase_if(deque<_Tp, _Alloc>& __cont, _Predicate __pred)
{
- _GLIBCXX_STD_C::deque<_Tp, _Alloc>& __c = __cont;
- __c.erase(std::remove_if(__c.begin(), __c.end(), __pred), __c.end());
+ __cont.erase(std::remove_if(__cont.begin(), __cont.end(), __pred),
+ __cont.end());
}
template<typename _Tp, typename _Alloc, typename _Up>
inline void
erase(deque<_Tp, _Alloc>& __cont, const _Up& __value)
{
- _GLIBCXX_STD_C::deque<_Tp, _Alloc>& __c = __cont;
- __c.erase(std::remove(__c.begin(), __c.end(), __value), __c.end());
+ __cont.erase(std::remove(__cont.begin(), __cont.end(), __value),
+ __cont.end());
}
namespace pmr {
@@ -50,19 +50,13 @@ inline namespace fundamentals_v2
typename _Predicate>
inline void
erase_if(map<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>& __c = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
typename _Predicate>
inline void
erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Alloc>& __c = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
namespace pmr {
template<typename _Key, typename _Tp, typename _Compare = less<_Key>>
@@ -50,19 +50,13 @@ inline namespace fundamentals_v2
typename _Predicate>
inline void
erase_if(set<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::set<_Key, _Compare, _Alloc>& __c = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Compare, typename _Alloc,
typename _Predicate>
inline void
erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::multiset<_Key, _Compare, _Alloc>& __c = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
namespace pmr {
template<typename _Key, typename _Compare = less<_Key>>
@@ -51,22 +51,14 @@ inline namespace fundamentals_v2
inline void
erase_if(unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __c
- = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
typename _Alloc, typename _Predicate>
inline void
erase_if(unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __c
- = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
namespace pmr {
template<typename _Key, typename _Tp, typename _Hash = hash<_Key>,
@@ -51,21 +51,14 @@ inline namespace fundamentals_v2
inline void
erase_if(unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_set<_Key, _Hash, _CPred, _Alloc>& __c = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
typename _Predicate>
inline void
erase_if(unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __c
- = __cont;
- std::__detail::__erase_nodes_if(__c, __pred);
- }
+ { std::__detail::__erase_nodes_if(__cont, __pred); }
namespace pmr {
template<typename _Key, typename _Hash = hash<_Key>,
@@ -52,16 +52,16 @@ inline namespace fundamentals_v2
inline void
erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred)
{
- _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __c = __cont;
- __c.erase(std::remove_if(__c.begin(), __c.end(), __pred), __c.end());
+ __cont.erase(std::remove_if(__cont.begin(), __cont.end(), __pred),
+ __cont.end());
}
template<typename _Tp, typename _Alloc, typename _Up>
inline void
erase(vector<_Tp, _Alloc>& __cont, const _Up& __value)
{
- _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __c = __cont;
- __c.erase(std::remove(__c.begin(), __c.end(), __value), __c.end());
+ __cont.erase(std::remove(__cont.begin(), __cont.end(), __value),
+ __cont.end());
}
namespace pmr {
@@ -95,28 +95,26 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline typename deque<_Tp, _Alloc>::size_type
erase_if(deque<_Tp, _Alloc>& __cont, _Predicate __pred)
{
- _GLIBCXX_STD_C::deque<_Tp, _Alloc>& __c = __cont;
using namespace __gnu_cxx;
- const auto __osz = __c.size();
- const auto __end = __c.end();
- auto __removed = std::__remove_if(__c.begin(), __end,
+ const auto __osz = __cont.size();
+ const auto __end = __cont.end();
+ auto __removed = std::__remove_if(__cont.begin(), __end,
__ops::__pred_iter(std::ref(__pred)));
- __c.erase(__removed, __end);
- return __osz - __c.size();
+ __cont.erase(__removed, __end);
+ return __osz - __cont.size();
}
template<typename _Tp, typename _Alloc, typename _Up>
inline typename deque<_Tp, _Alloc>::size_type
erase(deque<_Tp, _Alloc>& __cont, const _Up& __value)
{
- _GLIBCXX_STD_C::deque<_Tp, _Alloc>& __c = __cont;
using namespace __gnu_cxx;
- const auto __osz = __c.size();
- const auto __end = __c.end();
- auto __removed = std::__remove_if(__c.begin(), __end,
+ const auto __osz = __cont.size();
+ const auto __end = __cont.end();
+ auto __removed = std::__remove_if(__cont.begin(), __end,
__ops::__iter_equals_val(__value));
- __c.erase(__removed, __end);
- return __osz - __c.size();
+ __cont.erase(__removed, __end);
+ return __osz - __cont.size();
}
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
@@ -95,19 +95,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _Predicate>
inline typename map<_Key, _Tp, _Compare, _Alloc>::size_type
erase_if(map<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Alloc>& __c = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Tp, typename _Compare, typename _Alloc,
typename _Predicate>
inline typename multimap<_Key, _Tp, _Compare, _Alloc>::size_type
erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Alloc>& __c = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // C++20
@@ -91,19 +91,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _Predicate>
inline typename set<_Key, _Compare, _Alloc>::size_type
erase_if(set<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::set<_Key, _Compare, _Alloc>& __c = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Compare, typename _Alloc,
typename _Predicate>
inline typename multiset<_Key, _Compare, _Alloc>::size_type
erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred)
- {
- _GLIBCXX_STD_C::multiset<_Key, _Compare, _Alloc>& __c = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // C++20
@@ -83,11 +83,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline typename unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>::size_type
erase_if(unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _CPred, _Alloc>& __c
- = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Tp, typename _Hash, typename _CPred,
typename _Alloc, typename _Predicate>
@@ -95,11 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
size_type
erase_if(unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash, _CPred, _Alloc>& __c
- = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // C++20
@@ -83,21 +83,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline typename unordered_set<_Key, _Hash, _CPred, _Alloc>::size_type
erase_if(unordered_set<_Key, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_set<_Key, _Hash, _CPred, _Alloc>& __c = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
template<typename _Key, typename _Hash, typename _CPred, typename _Alloc,
typename _Predicate>
inline typename unordered_multiset<_Key, _Hash, _CPred, _Alloc>::size_type
erase_if(unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __cont,
_Predicate __pred)
- {
- _GLIBCXX_STD_C::unordered_multiset<_Key, _Hash, _CPred, _Alloc>& __c
- = __cont;
- return __detail::__erase_nodes_if(__c, __pred);
- }
+ { return __detail::__erase_nodes_if(__cont, __pred); }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // C++20
@@ -105,28 +105,26 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline typename vector<_Tp, _Alloc>::size_type
erase_if(vector<_Tp, _Alloc>& __cont, _Predicate __pred)
{
- _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __c = __cont;
using namespace __gnu_cxx;
- const auto __osz = __c.size();
- const auto __end = __c.end();
- auto __removed(std::__remove_if(__c.begin(), __end,
- __ops::__pred_iter(std::ref(__pred))));
- __c.erase(__removed, __end);
- return __osz - __c.size();
+ const auto __osz = __cont.size();
+ const auto __end = __cont.end();
+ auto __removed = std::__remove_if(__cont.begin(), __end,
+ __ops::__pred_iter(std::ref(__pred)));
+ __cont.erase(__removed, __end);
+ return __osz - __cont.size();
}
template<typename _Tp, typename _Alloc, typename _Up>
inline typename vector<_Tp, _Alloc>::size_type
erase(vector<_Tp, _Alloc>& __cont, const _Up& __value)
{
- _GLIBCXX_STD_C::vector<_Tp, _Alloc>& __c = __cont;
using namespace __gnu_cxx;
- const auto __osz = __c.size();
- const auto __end = __c.end();
- auto __removed = std::__remove_if(__c.begin(), __end,
+ const auto __osz = __cont.size();
+ const auto __end = __cont.end();
+ auto __removed = std::__remove_if(__cont.begin(), __end,
__ops::__iter_equals_val(__value));
- __c.erase(__removed, __end);
- return __osz - __c.size();
+ __cont.erase(__removed, __end);
+ return __osz - __cont.size();
}
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std