29#ifndef _GLIBCXX_FORWARD_LIST
30#define _GLIBCXX_FORWARD_LIST 1
33#pragma GCC system_header
38#if __cplusplus < 201103L
50#define __glibcxx_want_algorithm_default_value_type
51#define __glibcxx_want_allocator_traits_is_always_equal
52#define __glibcxx_want_containers_ranges
53#define __glibcxx_want_erase_if
54#define __glibcxx_want_hardened_forward_list
55#define __glibcxx_want_incomplete_container_elements
56#define __glibcxx_want_list_remove_return_type
57#define __glibcxx_want_nonmember_container_access
60#if __cplusplus >= 201703L
62namespace std _GLIBCXX_VISIBILITY(default)
64_GLIBCXX_BEGIN_NAMESPACE_VERSION
67 template<
typename _Tp>
68 using forward_list = std::forward_list<_Tp, polymorphic_allocator<_Tp>>;
70_GLIBCXX_END_NAMESPACE_VERSION
74#ifdef __cpp_lib_erase_if
75namespace std _GLIBCXX_VISIBILITY(default)
77_GLIBCXX_BEGIN_NAMESPACE_VERSION
78 template<
typename _Tp,
typename _Alloc,
typename _Predicate>
79 inline typename _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>::size_type
80 erase_if(_GLIBCXX_STD_C::forward_list<_Tp, _Alloc>& __cont, _Predicate __pred)
81 {
return __cont.remove_if(__pred); }
83 template<
typename _Tp,
typename _Alloc,
84 typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
85 inline typename _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>::size_type
86 erase(_GLIBCXX_STD_C::forward_list<_Tp, _Alloc>& __cont,
const _Up& __value)
90 return std::erase_if(__cont, [&](
const auto& __elem) ->
bool {
91 return __elem == __value;
94_GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.