std::basic_...starts_with(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

Okay bestie, welcome to std::basic_...starts_with(3) from the C++ Standard Libary (yes, that's the manual's spelling, not a typo I made 😭). The NAME entry is literally std::basic_string::starts_with β€” std::basic_string::starts_with. No cap, that's the whole thing. πŸ’…


✨ Synopsis ✨

(1) (since C++20)
constexpr bool starts_with( std::basic_string_view<CharT,Traits> sv ) const noexcept;

(2) (since C++20)
constexpr bool starts_with( CharT ch ) const noexcept;

(3) (since C++20)
constexpr bool starts_with( const CharT* s ) const;

This checks if the string begins with the given prefix. The prefix may be one of the following:

  1. A string view sv (which may be a result of implicit conversion from another std::basic_string).
  2. A single character ch.
  3. A null-terminated character string s.

All three overloads effectively return std::basic_string_view<CharT, Traits>(data(), size()).starts_with(x), where x is the parameter.

🌸 Parameters 🌸

  • sv β€” a string view which may be a result of implicit conversion from another std::basic_string
  • ch β€” a single character
  • s β€” a null-terminated character string

πŸ¦‹ Return value πŸ¦‹

true if the string begins with the provided prefix, false otherwise. That's it, bestie β€” binary slay. πŸ’–

πŸŽ€ Notes πŸŽ€

Feature-test macro vibes:

  • Feature-test macro β€” __cpp_lib_starts_ends_with
  • Value β€” 201711L
  • Std β€” (C++20)
  • Feature β€” String prefix and suffix checking: starts_with() and ends_with()

✨ Example ✨

Run this code, bestie πŸ‘‡

        #include <cassert>
        #include <string>
        #include <string_view>

        int main()
        {
            using namespace std::literals;

            const auto str = "Hello, C++20!"s;

            assert
            (""
                && str.starts_with("He"sv)  // (1)
                && !str.starts_with("he"sv) // (1)
                && str.starts_with("He"s)   // (1) implicit conversion string
       to string_view
                && !str.starts_with("he"s)  // (1) implicit conversion string
       to string_view
                && str.starts_with('H')     // (2)
                && !str.starts_with('h')    // (2)
                && str.starts_with("He")    // (3)
                && !str.starts_with("he")   // (3)
            );
        }

πŸ‘‘ See also πŸ‘‘

  • ends_with β€” checks if the string ends with the given suffix (C++20) (public member function)
  • starts_with β€” checks if the string view starts with the given prefix (C++20) (public member function of std::basic_string_view<CharT,Traits>)
  • ends_with β€” checks if the string view ends with the given suffix (C++20) (public member function of std::basic_string_view<CharT,Traits>)
  • contains β€” checks if the string contains the given substring or character (C++23) (public member function)
  • contains β€” checks if the string view contains the given substring or character (C++23) (public member function of std::basic_string_view<CharT,Traits>)
  • compare β€” compares two strings (public member function)
  • substr β€” returns a substring (public member function)

Source: http://cppreference.com Β· Version/date: 2024.06.10 Β· Page: std::basic_...starts_with(3) β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from