Lines Matching refs:basic_string_view
19 // 7.2, Class template basic_string_view
21 class basic_string_view;
24 inline constexpr bool ranges::enable_view<basic_string_view<charT, traits>> = true;
27 …inline constexpr bool ranges::enable_borrowed_range<basic_string_view<charT, traits>> = true; // …
29 // 7.9, basic_string_view non-member comparison functions
31 constexpr bool operator==(basic_string_view<charT, traits> x,
32 basic_string_view<charT, traits> y) noexcept;
34 constexpr bool operator!=(basic_string_view<charT, traits> x,
35 basic_string_view<charT, traits> y) noexcept;
37 constexpr bool operator< (basic_string_view<charT, traits> x,
38 basic_string_view<charT, traits> y) noexcept;
40 constexpr bool operator> (basic_string_view<charT, traits> x,
41 basic_string_view<charT, traits> y) noexcept;
43 constexpr bool operator<=(basic_string_view<charT, traits> x,
44 basic_string_view<charT, traits> y) noexcept;
46 constexpr bool operator>=(basic_string_view<charT, traits> x,
47 basic_string_view<charT, traits> y) noexcept;
54 basic_string_view<charT, traits> str);
56 // basic_string_view typedef names
57 typedef basic_string_view<char> string_view;
58 typedef basic_string_view<char8_t> u8string_view; // C++20
59 typedef basic_string_view<char16_t> u16string_view;
60 typedef basic_string_view<char32_t> u32string_view;
61 typedef basic_string_view<wchar_t> wstring_view;
64 class basic_string_view {
81 // 7.3, basic_string_view constructors and assignment operators
82 constexpr basic_string_view() noexcept;
83 constexpr basic_string_view(const basic_string_view&) noexcept = default;
84 basic_string_view& operator=(const basic_string_view&) noexcept = default;
86 constexpr basic_string_view(const charT* str);
87 basic_string_view(nullptr_t) = delete; // C++2b
88 constexpr basic_string_view(const charT* str, size_type len);
90 constexpr basic_string_view(It begin, End end); // C++20
92 constexpr basic_string_view(Range&& r); // C++23
94 // 7.4, basic_string_view iterator support
104 // 7.5, basic_string_view capacity
110 // 7.6, basic_string_view element access
117 // 7.7, basic_string_view modifiers
120 constexpr void swap(basic_string_view& s) noexcept;
124 constexpr basic_string_view substr(size_type pos = 0, size_type n = npos) const;
125 constexpr int compare(basic_string_view s) const noexcept;
126 constexpr int compare(size_type pos1, size_type n1, basic_string_view s) const;
128 basic_string_view s, size_type pos2, size_type n2) const;
133 constexpr size_type find(basic_string_view s, size_type pos = 0) const noexcept;
137 constexpr size_type rfind(basic_string_view s, size_type pos = npos) const noexcept;
141 constexpr size_type find_first_of(basic_string_view s, size_type pos = 0) const noexcept;
145 constexpr size_type find_last_of(basic_string_view s, size_type pos = npos) const noexcept;
149 constexpr size_type find_first_not_of(basic_string_view s, size_type pos = 0) const noexcept;
153 … constexpr size_type find_last_not_of(basic_string_view s, size_type pos = npos) const noexcept;
158 constexpr bool starts_with(basic_string_view s) const noexcept; // C++20
161 constexpr bool ends_with(basic_string_view s) const noexcept; // C++20
165 constexpr bool contains(basic_string_view s) const noexcept; // C++2b
174 // basic_string_view deduction guides
176 basic_string_view(It, End) -> basic_string_view<iter_value_t<It>>; // C++20
178 basic_string_view(Range&&) -> basic_string_view<ranges::range_value_t<Range>>; // C++23
188 constexpr basic_string_view<char> operator "" sv( const char *str, size_t len ) noexcept;
189 constexpr basic_string_view<wchar_t> operator "" sv( const wchar_t *str, size_t len ) noexcept;
190 …constexpr basic_string_view<char8_t> operator "" sv( const char8_t *str, size_t len ) noexcept; …
191 constexpr basic_string_view<char16_t> operator "" sv( const char16_t *str, size_t len ) noexcept;
192 constexpr basic_string_view<char32_t> operator "" sv( const char32_t *str, size_t len ) noexcept;
267 basic_string_view {
284 …static_assert((!is_array<value_type>::value), "Character type of basic_string_view must not be an …
285 …static_assert(( is_standard_layout<value_type>::value), "Character type of basic_string_view must …
286 …static_assert(( is_trivial<value_type>::value), "Character type of basic_string_view must be trivi…
292 basic_string_view() _NOEXCEPT : __data (nullptr), __size(0) {}
295 basic_string_view(const basic_string_view&) _NOEXCEPT = default;
298 basic_string_view& operator=(const basic_string_view&) _NOEXCEPT = default;
301 basic_string_view(const _CharT* __s, size_type __len) _NOEXCEPT
312 constexpr _LIBCPP_HIDE_FROM_ABI basic_string_view(_It __begin, _End __end)
322 !is_same_v<remove_cvref_t<_Range>, basic_string_view> &&
328 __d.operator _VSTD::basic_string_view<_CharT, _Traits>();
335 basic_string_view(_Range&& __r) : __data(ranges::data(__r)), __size(ranges::size(__r)) {}
339 basic_string_view(const _CharT* __s)
343 basic_string_view(nullptr_t) = delete;
430 void swap(basic_string_view& __other) _NOEXCEPT
452 basic_string_view substr(size_type __pos = 0, size_type __n = npos) const
455 ? (__throw_out_of_range("string_view::substr"), basic_string_view())
456 : basic_string_view(data() + __pos, _VSTD::min(__n, size() - __pos));
459 _LIBCPP_CONSTEXPR_AFTER_CXX11 int compare(basic_string_view __sv) const _NOEXCEPT
469 int compare(size_type __pos1, size_type __n1, basic_string_view __sv) const
476 basic_string_view __sv, size_type __pos2, size_type __n2) const
484 return compare(basic_string_view(__s));
490 return substr(__pos1, __n1).compare(basic_string_view(__s));
496 return substr(__pos1, __n1).compare(basic_string_view(__s, __n2));
501 size_type find(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT
533 size_type rfind(basic_string_view __s, size_type __pos = npos) const _NOEXCEPT
565 size_type find_first_of(basic_string_view __s, size_type __pos = 0) const _NOEXCEPT
594 size_type find_last_of(basic_string_view __s, size_type __pos=npos) const _NOEXCEPT
623 size_type find_first_not_of(basic_string_view __s, size_type __pos=0) const _NOEXCEPT
655 size_type find_last_not_of(basic_string_view __s, size_type __pos=npos) const _NOEXCEPT
687 bool starts_with(basic_string_view __s) const noexcept
696 { return starts_with(basic_string_view(__s)); }
699 bool ends_with(basic_string_view __s) const noexcept
708 { return ends_with(basic_string_view(__s)); }
713 bool contains(basic_string_view __sv) const noexcept
732 inline constexpr bool ranges::enable_view<basic_string_view<_CharT, _Traits>> = true;
735 inline constexpr bool ranges::enable_borrowed_range<basic_string_view<_CharT, _Traits> > = true;
742 basic_string_view(_It, _End) -> basic_string_view<iter_value_t<_It>>;
748 basic_string_view(_Range) -> basic_string_view<ranges::range_value_t<_Range>>;
755 bool operator==(basic_string_view<_CharT, _Traits> __lhs,
756 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
766 bool operator==(basic_string_view<_CharT, _Traits> __lhs,
767 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
775 bool operator==(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
776 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
786 bool operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs)…
795 bool operator!=(basic_string_view<_CharT, _Traits> __lhs,
796 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
805 bool operator!=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
806 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
817 bool operator<(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) …
824 bool operator<(basic_string_view<_CharT, _Traits> __lhs,
825 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
832 bool operator<(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
833 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
842 bool operator> (basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs)…
849 bool operator>(basic_string_view<_CharT, _Traits> __lhs,
850 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
857 bool operator>(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
858 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
867 bool operator<=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs)…
874 bool operator<=(basic_string_view<_CharT, _Traits> __lhs,
875 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
882 bool operator<=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
883 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
892 bool operator>=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs)…
900 bool operator>=(basic_string_view<_CharT, _Traits> __lhs,
901 typename common_type<basic_string_view<_CharT, _Traits> >::type __rhs) _NOEXCEPT
908 bool operator>=(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
909 basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT
918 basic_string_view<_CharT, _Traits> __str);
922 struct _LIBCPP_TEMPLATE_VIS hash<basic_string_view<_CharT, char_traits<_CharT> > >
923 : public __unary_function<basic_string_view<_CharT, char_traits<_CharT> >, size_t>
926 size_t operator()(const basic_string_view<_CharT, char_traits<_CharT> > __val) const _NOEXCEPT {
937 basic_string_view<char> operator "" sv(const char *__str, size_t __len) _NOEXCEPT
939 return basic_string_view<char> (__str, __len);
944 basic_string_view<wchar_t> operator "" sv(const wchar_t *__str, size_t __len) _NOEXCEPT
946 return basic_string_view<wchar_t> (__str, __len);
952 basic_string_view<char8_t> operator "" sv(const char8_t *__str, size_t __len) _NOEXCEPT
954 return basic_string_view<char8_t> (__str, __len);
959 basic_string_view<char16_t> operator "" sv(const char16_t *__str, size_t __len) _NOEXCEPT
961 return basic_string_view<char16_t> (__str, __len);
965 basic_string_view<char32_t> operator "" sv(const char32_t *__str, size_t __len) _NOEXCEPT
967 return basic_string_view<char32_t> (__str, __len);