56 #define _GLIBCXX_LIST 1
58 #pragma GCC system_header
70 #ifdef _GLIBCXX_PROFILE
74 #if __cplusplus >= 201703L
75 namespace std _GLIBCXX_VISIBILITY(default)
77 _GLIBCXX_BEGIN_NAMESPACE_VERSION
80 template<
typename _Tp>
class polymorphic_allocator;
81 template<
typename _Tp>
84 _GLIBCXX_END_NAMESPACE_VERSION
88 #if __cplusplus > 201703L
89 namespace std _GLIBCXX_VISIBILITY(default)
91 _GLIBCXX_BEGIN_NAMESPACE_VERSION
93 #define __cpp_lib_erase_if 201900L
95 template<
typename _Tp,
typename _Alloc,
typename _Predicate>
96 inline typename list<_Tp, _Alloc>::size_type
97 erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred)
98 {
return __cont.remove_if(__pred); }
100 template<
typename _Tp,
typename _Alloc,
typename _Up>
101 inline typename list<_Tp, _Alloc>::size_type
102 erase(list<_Tp, _Alloc>& __cont,
const _Up& __value)
104 using __elem_type =
typename list<_Tp, _Alloc>::value_type;
105 return std::erase_if(__cont, [&](__elem_type& __elem) {
106 return __elem == __value;
109 _GLIBCXX_END_NAMESPACE_VERSION
A standard container with linear time access to elements, and fixed time insertion/deletion at any po...