home | help
std::basic_...iew::compare(3)  C++ Standard Libary std::basic_...iew::compare(3)

NAME
     std::basic_string_view::compare - std::basic_string_view::compare

Synopsis
	constexpr  int	compare( basic_string_view v ) const noexcept;	     (1)
     (since C++17)
	constexpr int compare( size_type pos1, size_type  count1,	     (2)
     (since C++17)
			       basic_string_view v ) const;
	constexpr int compare( size_type pos1, size_type count1,
	basic_string_view  v,						     (3)
     (since C++17)
			       size_type pos2, size_type count2 ) const;
	constexpr int compare( const CharT* s )  const; 		     (4)
     (since C++17)
	constexpr  int	compare( size_type pos1, size_type count1,	     (5)
     (since C++17)
			       const CharT* s ) const;
	constexpr int compare( size_type pos1, size_type  count1,	     (6)
     (since C++17)
			       const CharT* s, size_type count2 ) const;

	Compares two character sequences.

	1)  The length rlen of the sequences to compare is the smaller of size()
     and
	v.size(). The function compares the two views  by  calling  traits::com-
     pare(data(),
	v.data(), rlen), and returns a value according to the following table:

			      Condition 				  Result
     Return value
	Traits::compare(data(), v.data(), rlen)  <  0		  this	is  less
     < 0
							       than v
						     size()   <   this	is  less
     < 0
						     v.size()  than v
	Traits::compare(data(), v.data(), rlen) == 0 size() == this is equal  to
     0
						     v.size()  v
						     size()  >	 this is greater
     > 0
						     v.size()  than v
	Traits::compare(data(), v.data(), rlen) > 0	       this  is  greater
     > 0
							       than v

	2) Equivalent to substr(pos1, count1).compare(v).
	3) Equivalent to substr(pos1, count1).compare(v.substr(pos2, count2)).
	4) Equivalent to compare(basic_string_view(s)).
	5) Equivalent to substr(pos1, count1).compare(basic_string_view(s)).
	6)   Equivalent   to  substr(pos1,  count1).compare(basic_string_view(s,
     count2)).

Parameters
	v      - view to compare
	s      - pointer to the character string to compare to
	count1 - number of characters of this view to compare
	pos1   - position of the first character in this view to compare
	count2 - number of characters of the given view to compare
	pos2   - position of the first character of the given view to compare

Return value
	Negative value if this view is less than the other  character  sequence,
     zero if the
	both  character  sequences  are  equal,  positive  value if this view is
     greater than the
	other character sequence.

Complexity
	1) Linear in the number of characters compared.

Example
     // Run this code

      #include <string_view>

      int main()
      {
	  using std::operator""sv;
	  static_assert("abc"sv.compare("abcd"sv) < 0);
	  static_assert("abcd"sv.compare("abc"sv) > 0);
	  static_assert("abc"sv.compare("abc"sv) == 0);
	  static_assert(""sv.compare(""sv) == 0);
      }

See also
			   compares two strings
	compare 	   (public member function of
			   std::basic_string<CharT,Traits,Allocator>)
	operator==
	operator!=
	operator<
	operator>
	operator<=
	operator>=
	operator<=>	   lexicographically compares two string views
	(C++17) 	   (function template)
	(removed in C++20)
	(removed in C++20)
	(removed in C++20)
	(removed in C++20)
	(removed in C++20)
	(C++20)

http://cppreference.com 	   2024.06.10	   std::basic_...iew::compare(3)

home | help