66template<
typename Ch,
typename Traits = std::
char_traits<Ch>>
68 public std::basic_string_view<Ch, Traits>
74 using Base = std::basic_string_view<Ch, Traits>;
195template<typename Ch, typename Traits>
202template<
typename Ch,
typename Traits>
209template<
typename Ch,
typename Traits>
215template<
typename Ch,
typename Traits>
222template<
typename Ch,
typename Traits>
224template<typename Ch, typename Traits>
226template<typename Ch, typename Traits>
230template<typename Ch, typename Traits>
233 const auto needle_sz = needle.size();
234 if (this->size() < needle.size())
239 for (
size_t idx = 0; idx != needle_sz; ++idx)
241 if (!Traits::eq((*
this)[idx], needle[idx]))
250template<
typename Ch,
typename Traits>
260template<
typename Ch,
typename Traits>
263 return (!this->empty()) && (this->front() == needle);
266template<
typename Ch,
typename Traits>
269 const auto needle_sz = needle.size();
270 if (this->size() < needle.size())
275 const auto base_haystack_idx = this->size() - needle_sz;
276 for (
size_t idx = 0; idx != needle_sz; ++idx)
278 if (!Traits::eq((*
this)[base_haystack_idx + idx], needle[idx]))
287template<
typename Ch,
typename Traits>
294template<
typename Ch,
typename Traits>
297 return (!this->empty()) && (this->back() == needle);
Essentially alias for a C++17-conforming string-view class template, which is a very lightweight std:...
bool ends_with(Basic_string_view needle) const
Equivalent to C++20 basic_string_view::ends_with() which is lacking in C++17 but present in C++20 and...
std::basic_string_view< Ch, Traits > Base
Short-hand for the base. We add no data of our own in this subclass, just a handful of APIs.
constexpr Basic_string_view() noexcept
Constructs null view: identical to Base API.
bool starts_with(Basic_string_view needle) const
Equivalent to C++20 basic_string_view::starts_with() which is lacking in C++17 but present in C++20 a...
Flow module containing miscellaneous general-use facilities that don't fit into any other Flow module...
Basic_string_view< char > String_view
Commonly used char-based Basic_string_view. See its doc header.