std::basic_string_view::ends_with(3)

NAME
std::basic_string_view::ends_with - std::basic_string_view::ends_with

Synopsis
   constexpr bool ends_with( basic_string_view sv ) const noexcept; (1) (since C++20)
   constexpr bool ends_with( CharT c ) const noexcept; (2) (since C++20)
   constexpr bool ends_with( const CharT* s ) const; (3) (since C++20)
   Checks if the string view ends with the given suffix, where
   1) the suffix is a string view. Effectively returns size() >= sv.size() &&
   compare(size() - sv.size(), npos, sv) == 0
   2) the suffix is a single character. Effectively returns !empty() &&
   Traits::eq(back(), c)
   3) the suffix is a null-terminated character string. Effectively returns
   ends_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 ends with the provided suffix, 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
         // (1) bool ends_with( basic_string_view sv ) const noexcept;
         << std::string_view("https://cppreference.com").ends_with(".com"sv) << ' ' // true
         << std::string_view("https://cppreference.com").ends_with(".org"sv) << ' ' // false
         // (2) bool ends_with( CharT c ) const noexcept;
         << std::string_view("C++20").ends_with('0') << ' ' // true
         << std::string_view("C++20").ends_with('3') << ' ' // false
         // (3) bool ends_with( const CharT* s ) const;
         << std::string_view("string_view").ends_with("view") << ' ' // true
         << std::string_view("string_view").ends_with("View") << ' ' // false
         << '\n';
 }

Output:
 true false true false true false

See also
   starts_with checks if the string view starts with the given prefix
   (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)