table of contents
        
      
      
    | std::basic_string_view::starts_with(3) | C++ Standard Libary | std::basic_string_view::starts_with(3) | 
NAME¶
std::basic_string_view::starts_with - std::basic_string_view::starts_with
Synopsis¶
 constexpr bool starts_with( basic_string_view sv ) const
    noexcept; (1) (since C++20)
  
   constexpr bool starts_with( CharT c ) const noexcept; (2) (since
    C++20)
  
   constexpr bool starts_with( const CharT* s ) const; (3) (since
    C++20)
  
   Checks if the string view begins with the given prefix, where
  
   1) the prefix is a string view. Effectively returns substr(0, sv.size()) ==
    sv
  
   2) the prefix is a single character. Effectively returns !empty() &&
  
   Traits::eq(front(), c)
  
   3) the prefix is a null-terminated character string. Effectively returns
  
   starts_with(basic_string_view(s))
Parameters¶
 sv - a string view which may be a result of implicit conversion
    from
  
   std::basic_string
  
   c - a single character
  
   s - a null-terminated character string
Return value¶
true if the string view begins with the provided prefix, false otherwise.
Notes¶
Feature-test macro: __cpp_lib_starts_ends_with
Example¶
// Run this code
  
   #include <iostream>
  
   #include <string_view>
  
   auto main() -> int
  
   {
  
   using namespace std::literals;
  
   std::cout
  
   << std::boolalpha
  
   // bool starts_with(basic_string_view x) const noexcept;
  
   <<
    "https://cppreference.com"sv.starts_with("http"sv)
    << ' ' // true
  
   <<
    "https://cppreference.com"sv.starts_with("ftp"sv)
    << ' ' // false
  
   // bool starts_with(CharT x) const noexcept;
  
   << "C++20"sv.starts_with('C') << ' ' // true
  
   << "C++20"sv.starts_with('J') << ' ' // false
  
   // bool starts_with(const CharT* x) const;
  
   <<
    std::string_view("string_view").starts_with("string")
    << ' ' // true
  
   <<
    std::string_view("string_view").starts_with("String")
    << ' ' // false
  
   << '\n';
  
   }
Output:¶
true false true false true false
See also¶
 ends_with checks if the string view ends with the given suffix
  
   (C++20) (public member function)
  
   starts_with checks if the string starts with the given prefix
  
   (C++20) (public member function of
    std::basic_string<CharT,Traits,Allocator>)
  
   ends_with checks if the string ends with the given suffix
  
   (C++20) (public member function of
    std::basic_string<CharT,Traits,Allocator>)
  
   contains checks if the string contains the given substring or character
  
   (C++23) (public member function of
    std::basic_string<CharT,Traits,Allocator>)
  
   contains checks if the string view contains the given substring or character
  
   (C++23) (public member function)
  
   compare compares two views
  
   (C++17) (public member function)
| 2022.07.31 | http://cppreference.com |