std::basic_string::ends_with(3)

NAME
std::basic_string::ends_with - std::basic_string::ends_with

Synopsis
   constexpr bool ends_with( std::basic_string_view<CharT,Traits> sv
   ) (1) (since C++20)
   const noexcept;
   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 ends with the given suffix. The suffix 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 c.
   3) a null-terminated character string s.
   All three overloads effectively return std::basic_string_view<CharT, Traits>(data(),
   size()).ends_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
   c - a single character
   s - a null-terminated character string

Return value
   true if the string 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>
 #include <string>
 template <typename SuffixType>
 void test_suffix_print(const std::string& str, SuffixType suffix)
 {
     std::cout << '\'' << str << "' ends with '" << suffix << "': " <<
         str.ends_with(suffix) << '\n';
 }
 int main()
 {
     std::boolalpha(std::cout);
     auto helloWorld = std::string("hello world");
     test_suffix_print(helloWorld, std::string_view("world"));
     test_suffix_print(helloWorld, std::string_view("goodbye"));
     test_suffix_print(helloWorld, 'd');
     test_suffix_print(helloWorld, 'x');
 }

Output:
 'hello world' ends with 'world': true
 'hello world' ends with 'goodbye': false
 'hello world' ends with 'd': true
 'hello world' ends with 'x': false

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