Lines Matching refs:basic_string_view
23 // 7.2, Class template basic_string_view
25 class basic_string_view;
28 inline constexpr bool ranges::enable_view<basic_string_view<charT, traits>> = true;
31 …inline constexpr bool ranges::enable_borrowed_range<basic_string_view<charT, traits>> = true; // …
33 // 7.9, basic_string_view non-member comparison functions
35 constexpr bool operator==(basic_string_view<charT, traits> x,
36 basic_string_view<charT, traits> y) noexcept;
38 constexpr bool operator!=(basic_string_view<charT, traits> x,
39 basic_string_view<charT, traits> y) noexcept;
41 constexpr bool operator< (basic_string_view<charT, traits> x,
42 basic_string_view<charT, traits> y) noexcept;
44 constexpr bool operator> (basic_string_view<charT, traits> x,
45 basic_string_view<charT, traits> y) noexcept;
47 constexpr bool operator<=(basic_string_view<charT, traits> x,
48 basic_string_view<charT, traits> y) noexcept;
50 constexpr bool operator>=(basic_string_view<charT, traits> x,
51 basic_string_view<charT, traits> y) noexcept;
53 constexpr see below operator<=>(basic_string_view<charT, traits> x,
54 basic_string_view<charT, traits> y) noexcept;
62 basic_string_view<charT, traits> str);
64 // basic_string_view typedef names
65 typedef basic_string_view<char> string_view;
66 typedef basic_string_view<char8_t> u8string_view; // C++20
67 typedef basic_string_view<char16_t> u16string_view;
68 typedef basic_string_view<char32_t> u32string_view;
69 typedef basic_string_view<wchar_t> wstring_view;
72 class basic_string_view {
89 // 7.3, basic_string_view constructors and assignment operators
90 constexpr basic_string_view() noexcept;
91 constexpr basic_string_view(const basic_string_view&) noexcept = default;
92 basic_string_view& operator=(const basic_string_view&) noexcept = default;
94 constexpr basic_string_view(const charT* str);
95 basic_string_view(nullptr_t) = delete; // C++23
96 constexpr basic_string_view(const charT* str, size_type len);
98 constexpr basic_string_view(It begin, End end); // C++20
100 constexpr basic_string_view(Range&& r); // C++23
102 // 7.4, basic_string_view iterator support
112 // 7.5, basic_string_view capacity
118 // 7.6, basic_string_view element access
125 // 7.7, basic_string_view modifiers
128 constexpr void swap(basic_string_view& s) noexcept;
132 constexpr basic_string_view substr(size_type pos = 0, size_type n = npos) const;
133 constexpr int compare(basic_string_view s) const noexcept;
134 constexpr int compare(size_type pos1, size_type n1, basic_string_view s) const;
136 basic_string_view s, size_type pos2, size_type n2) const;
141 constexpr size_type find(basic_string_view s, size_type pos = 0) const noexcept;
145 constexpr size_type rfind(basic_string_view s, size_type pos = npos) const noexcept;
149 constexpr size_type find_first_of(basic_string_view s, size_type pos = 0) const noexcept;
153 constexpr size_type find_last_of(basic_string_view s, size_type pos = npos) const noexcept;
157 constexpr size_type find_first_not_of(basic_string_view s, size_type pos = 0) const noexcept;
161 … constexpr size_type find_last_not_of(basic_string_view s, size_type pos = npos) const noexcept;
166 constexpr bool starts_with(basic_string_view s) const noexcept; // C++20
169 constexpr bool ends_with(basic_string_view s) const noexcept; // C++20
173 constexpr bool contains(basic_string_view s) const noexcept; // C++23
182 // basic_string_view deduction guides
184 basic_string_view(It, End) -> basic_string_view<iter_value_t<It>>; // C++20
186 basic_string_view(Range&&) -> basic_string_view<ranges::range_value_t<Range>>; // C++23
196 constexpr basic_string_view<char> operator""sv(const char *str, size_t len) noexcept;
197 constexpr basic_string_view<wchar_t> operator""sv(const wchar_t *str, size_t len) noexcept;
198 …constexpr basic_string_view<char8_t> operator""sv(const char8_t *str, size_t len) noexcept; // C…
199 constexpr basic_string_view<char16_t> operator""sv(const char16_t *str, size_t len) noexcept;
200 constexpr basic_string_view<char32_t> operator""sv(const char32_t *str, size_t len) noexcept;
274 class basic_string_view {
297 …static_assert(!is_array<value_type>::value, "Character type of basic_string_view must not be an ar…
298 …static_assert(is_standard_layout<value_type>::value, "Character type of basic_string_view must be …
299 …static_assert(is_trivial<value_type>::value, "Character type of basic_string_view must be trivial"…
304 …_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view() _NOEXCEPT : __data_(nullptr), __size_(…
306 _LIBCPP_HIDE_FROM_ABI basic_string_view(const basic_string_view&) _NOEXCEPT = default;
308 _LIBCPP_HIDE_FROM_ABI basic_string_view& operator=(const basic_string_view&) _NOEXCEPT = default;
310 …_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view(const _CharT* __s, size_type __len) _NOE…
328 constexpr _LIBCPP_HIDE_FROM_ABI basic_string_view(_It __begin, _End __end)
337 …requires(!is_same_v<remove_cvref_t<_Range>, basic_string_view> && ranges::contiguous_range<_Range>…
340 …(!requires(remove_cvref_t<_Range>& __d) { __d.operator std::basic_string_view<_CharT, _Traits>(); …
341 constexpr explicit _LIBCPP_HIDE_FROM_ABI basic_string_view(_Range&& __r)
345 _LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view(const _CharT* __s)
349 basic_string_view(nullptr_t) = delete;
431 …_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI void swap(basic_string_view& __other) _NOEXCEP…
450 …_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view substr(size_type __pos = 0, size_type __…
451 return __pos > size() ? (__throw_out_of_range("string_view::substr"), basic_string_view())
452 : basic_string_view(data() + __pos, std::min(__n, size() - __pos));
455 _LIBCPP_CONSTEXPR_SINCE_CXX14 int compare(basic_string_view __sv) const _NOEXCEPT {
464 compare(size_type __pos1, size_type __n1, basic_string_view __sv) const {
469 …compare(size_type __pos1, size_type __n1, basic_string_view __sv, size_type __pos2, size_type __n2…
474 return compare(basic_string_view(__s));
479 return substr(__pos1, __n1).compare(basic_string_view(__s));
484 return substr(__pos1, __n1).compare(basic_string_view(__s, __n2));
489 find(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT {
513 rfind(basic_string_view __s, size_type __pos = npos) const _NOEXCEPT {
538 find_first_of(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT {
564 find_last_of(basic_string_view __s, size_type __pos = npos) const _NOEXCEPT {
590 find_first_not_of(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT {
617 find_last_not_of(basic_string_view __s, size_type __pos = npos) const _NOEXCEPT {
643 constexpr _LIBCPP_HIDE_FROM_ABI bool starts_with(basic_string_view __s) const noexcept {
652 return starts_with(basic_string_view(__s));
655 constexpr _LIBCPP_HIDE_FROM_ABI bool ends_with(basic_string_view __s) const noexcept {
664 return ends_with(basic_string_view(__s));
669 …constexpr _LIBCPP_HIDE_FROM_ABI bool contains(basic_string_view __sv) const noexcept { return find…
680 _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(basic_string_view);
684 inline constexpr bool ranges::enable_view<basic_string_view<_CharT, _Traits>> = true;
687 inline constexpr bool ranges::enable_borrowed_range<basic_string_view<_CharT, _Traits> > = true;
694 basic_string_view(_It, _End) -> basic_string_view<iter_value_t<_It>>;
699 basic_string_view(_Range) -> basic_string_view<ranges::range_value_t<_Range>>;
707 _LIBCPP_HIDE_FROM_ABI constexpr bool operator==(basic_string_view<_CharT, _Traits> __lhs,
708 … type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) noexcept {
715 _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(basic_string_view<_CharT, _Traits> __lhs,
716 … type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) noexcept {
733 operator==(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOE…
743 operator==(basic_string_view<_CharT, _Traits> __lhs,
744 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
752 operator==(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
753 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
762 operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOE…
770 operator!=(basic_string_view<_CharT, _Traits> __lhs,
771 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
779 operator!=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
780 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
789 operator<(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEX…
795 operator<(basic_string_view<_CharT, _Traits> __lhs,
796 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
802 operator<(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
803 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
810 operator>(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEX…
816 operator>(basic_string_view<_CharT, _Traits> __lhs,
817 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
823 operator>(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
824 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
831 operator<=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOE…
837 operator<=(basic_string_view<_CharT, _Traits> __lhs,
838 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
844 operator<=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
845 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
852 operator>=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOE…
858 operator>=(basic_string_view<_CharT, _Traits> __lhs,
859 __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
865 operator>=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
866 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
874 operator<<(basic_ostream<_CharT, _Traits>& __os, basic_string_view<_CharT, _Traits> __str);
878 struct __string_view_hash : public __unary_function<basic_string_view<_CharT, char_traits<_CharT> >…
879 …_LIBCPP_HIDE_FROM_ABI size_t operator()(const basic_string_view<_CharT, char_traits<_CharT> > __va…
885 struct hash<basic_string_view<char, char_traits<char> > > : __string_view_hash<char> {};
889 struct hash<basic_string_view<char8_t, char_traits<char8_t> > > : __string_view_hash<char8_t> {};
893 struct hash<basic_string_view<char16_t, char_traits<char16_t> > > : __string_view_hash<char16_t> {};
896 struct hash<basic_string_view<char32_t, char_traits<char32_t> > > : __string_view_hash<char32_t> {};
900 struct hash<basic_string_view<wchar_t, char_traits<wchar_t> > > : __string_view_hash<wchar_t> {};
906 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char> operator""sv(const char* __str, size…
907 return basic_string_view<char>(__str, __len);
911 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<wchar_t>
913 return basic_string_view<wchar_t>(__str, __len);
918 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char8_t>
920 return basic_string_view<char8_t>(__str, __len);
924 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char16_t>
926 return basic_string_view<char16_t>(__str, __len);
929 inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char32_t>
931 return basic_string_view<char32_t>(__str, __len);