33#ifndef _GLIBCXX_STRING
34#define _GLIBCXX_STRING 1
36#pragma GCC system_header
57#if __cplusplus >= 201703L && _GLIBCXX_USE_CXX11_ABI
59namespace std _GLIBCXX_VISIBILITY(default)
61_GLIBCXX_BEGIN_NAMESPACE_VERSION
63 template<
typename _CharT,
typename _Traits =
char_traits<_CharT>>
64 using basic_string = std::basic_string<_CharT, _Traits,
66 using string = basic_string<char>;
67#ifdef _GLIBCXX_USE_CHAR8_T
68 using u8string = basic_string<char8_t>;
70 using u16string = basic_string<char16_t>;
71 using u32string = basic_string<char32_t>;
72 using wstring = basic_string<wchar_t>;
74_GLIBCXX_END_NAMESPACE_VERSION
78#if __cplusplus > 201703L
79namespace std _GLIBCXX_VISIBILITY(default)
81_GLIBCXX_BEGIN_NAMESPACE_VERSION
83#define __cpp_lib_erase_if 202002L
85 template<
typename _CharT,
typename _Traits,
typename _Alloc,
88 inline typename basic_string<_CharT, _Traits, _Alloc>::size_type
91 using namespace __gnu_cxx;
92 const auto __osz = __cont.size();
93 const auto __end = __cont.end();
94 auto __removed = std::__remove_if(__cont.begin(), __end,
95 __ops::__pred_iter(
std::ref(__pred)));
96 __cont.erase(__removed, __end);
97 return __osz - __cont.size();
100 template<
typename _CharT,
typename _Traits,
typename _Alloc,
typename _Up>
102 inline typename basic_string<_CharT, _Traits, _Alloc>::size_type
105 using namespace __gnu_cxx;
106 const auto __osz = __cont.size();
107 const auto __end = __cont.end();
108 auto __removed = std::__remove_if(__cont.begin(), __end,
109 __ops::__iter_equals_val(__value));
110 __cont.erase(__removed, __end);
111 return __osz - __cont.size();
113_GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
Class template polymorphic_allocator.
constexpr reference_wrapper< _Tp > ref(_Tp &__t) noexcept
Denotes a reference should be taken to a variable.
Managing sequences of characters and character-like objects.