home | help
std::basic_...w::ends_with(3)  C++ Standard Libary std::basic_...w::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 ch  )  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(), ch).
	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
	ch - 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	    Value    Std		    Feature
	__cpp_lib_starts_ends_with  201711L  (C++20)  String  prefix  and suffix
     checking:
						   starts_with() and ends_with()

Example
     // Run this code

      #include <cassert>
      #include <string_view>

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

	  assert
	  (""
	      // (1) ends_with( basic_string_view sv )
	      &&			     std::string_view("https://cpprefer-
     ence.com").ends_with(".com"sv) == true
	      &&			     std::string_view("https://cpprefer-
     ence.com").ends_with(".org"sv) == false

	      // (2) ends_with( CharT c )
	      && std::string_view("C++20").ends_with('0') == true
	      && std::string_view("C++20").ends_with('3') == false

	      // (3) ends_with( const CharT* s )
	      && std::string_view("string_view").ends_with("view") == true
	      && std::string_view("string_view").ends_with("View") == 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::ba-
     sic_string<CharT,Traits,Allocator>)

	ends_with   checks if the string ends with the given suffix
	(C++20) 	 (public      member	  function	of	std::ba-
     sic_string<CharT,Traits,Allocator>)

	contains    checks if the string contains the given substring or charac-
     ter
	(C++23) 	 (public      member	  function	of	std::ba-
     sic_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
		    (public member function)

http://cppreference.com 	   2024.06.10	   std::basic_...w::ends_with(3)

home | help