33 #ifndef _GLIBCXX_STRING 34 #define _GLIBCXX_STRING 1 36 #pragma GCC system_header 51 #if __cplusplus > 201703L 58 #if __cplusplus >= 201703L && _GLIBCXX_USE_CXX11_ABI 59 namespace std _GLIBCXX_VISIBILITY(default)
61 _GLIBCXX_BEGIN_NAMESPACE_VERSION
63 template<
typename _Tp>
class polymorphic_allocator;
64 template<
typename _CharT,
typename _Traits =
char_traits<_CharT>>
66 polymorphic_allocator<_CharT>>;
67 using string = basic_string<char>;
68 #ifdef _GLIBCXX_USE_CHAR8_T 69 using u8string = basic_string<char8_t>;
73 #ifdef _GLIBCXX_USE_WCHAR_T 74 using wstring = basic_string<wchar_t>;
77 _GLIBCXX_END_NAMESPACE_VERSION
81 #if __cplusplus > 201703L 82 namespace std _GLIBCXX_VISIBILITY(default)
84 _GLIBCXX_BEGIN_NAMESPACE_VERSION
86 #define __cpp_lib_erase_if 201900L 88 template<
typename _CharT,
typename _Traits,
typename _Alloc,
90 inline typename basic_string<_CharT, _Traits, _Alloc>::size_type
91 erase_if(basic_string<_CharT, _Traits, _Alloc>& __cont, _Predicate __pred)
93 const auto __osz = __cont.size();
94 __cont.erase(std::remove_if(__cont.begin(), __cont.end(), __pred),
96 return __osz - __cont.size();
99 template<
typename _CharT,
typename _Traits,
typename _Alloc,
typename _Up>
100 inline typename basic_string<_CharT, _Traits, _Alloc>::size_type
101 erase(basic_string<_CharT, _Traits, _Alloc>& __cont,
const _Up& __value)
103 const auto __osz = __cont.size();
104 __cont.erase(std::remove(__cont.begin(), __cont.end(), __value),
106 return __osz - __cont.size();
108 _GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.
basic_string< char16_t > u16string
A string of char16_t.
basic_string< wchar_t > wstring
A string of wchar_t.
Managing sequences of characters and character-like objects.
basic_string< char32_t > u32string
A string of char32_t.