55 #ifndef _GLIBCXX_DEQUE
56 #define _GLIBCXX_DEQUE 1
58 #ifdef _GLIBCXX_SYSHDR
59 #pragma GCC system_header
74 #define __glibcxx_want_algorithm_default_value_type
75 #define __glibcxx_want_allocator_traits_is_always_equal
76 #define __glibcxx_want_containers_ranges
77 #define __glibcxx_want_erase_if
78 #define __glibcxx_want_nonmember_container_access
85 #if __cplusplus >= 201703L
87 namespace std _GLIBCXX_VISIBILITY(default)
89 _GLIBCXX_BEGIN_NAMESPACE_VERSION
92 template<
typename _Tp>
95 _GLIBCXX_END_NAMESPACE_VERSION
99 #ifdef __cpp_lib_erase_if // C++ >= 20 && erase_if
100 namespace std _GLIBCXX_VISIBILITY(default)
102 _GLIBCXX_BEGIN_NAMESPACE_VERSION
104 template<
typename _Tp,
typename _Alloc,
typename _Predicate>
105 inline typename _GLIBCXX_STD_C::deque<_Tp, _Alloc>::size_type
106 erase_if(_GLIBCXX_STD_C::deque<_Tp, _Alloc>&
__cont, _Predicate __pred)
109 template<
typename _Tp,
typename _Alloc,
110 typename _Up _GLIBCXX26_DEF_VAL_T(_Tp)>
111 inline typename _GLIBCXX_STD_C::deque<_Tp, _Alloc>::size_type
112 erase(_GLIBCXX_STD_C::deque<_Tp, _Alloc>&
__cont,
const _Up& __value)
113 {
return std::erase_if(
__cont, __gnu_cxx::__ops::__equal_to(__value)); }
115 _GLIBCXX_END_NAMESPACE_VERSION
117 #endif // __cpp_lib_erase_if