Scroll to navigation

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