29 #ifndef _GLIBCXX_FORWARD_LIST
30 #define _GLIBCXX_FORWARD_LIST 1
32 #pragma GCC system_header
34 #if __cplusplus < 201103L
46 #if __cplusplus >= 201703L
47 namespace std _GLIBCXX_VISIBILITY(default)
49 _GLIBCXX_BEGIN_NAMESPACE_VERSION
52 template<
typename _Tp>
class polymorphic_allocator;
53 template<
typename _Tp>
56 _GLIBCXX_END_NAMESPACE_VERSION
60 #if __cplusplus > 201703L
61 namespace std _GLIBCXX_VISIBILITY(default)
63 _GLIBCXX_BEGIN_NAMESPACE_VERSION
65 #define __cpp_lib_erase_if 202002L
67 template<
typename _Tp,
typename _Alloc,
typename _Predicate>
68 inline typename forward_list<_Tp, _Alloc>::size_type
69 erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred)
70 {
return __cont.remove_if(__pred); }
72 template<
typename _Tp,
typename _Alloc,
typename _Up>
73 inline typename forward_list<_Tp, _Alloc>::size_type
74 erase(forward_list<_Tp, _Alloc>& __cont,
const _Up& __value)
76 using __elem_type =
typename forward_list<_Tp, _Alloc>::value_type;
77 return std::erase_if(__cont, [&](__elem_type& __elem) {
78 return __elem == __value;
81 _GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
A standard container with linear time access to elements, and fixed time insertion/deletion at any po...