FreeBSD Manual Pages
std::basic_...iew::compare(3) C++ Standard Libarystd::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::compare(data(), v.data(), rlen), and returns a value according to the following ta- ble: 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 com- pare Return value negative value if this view is less than the other character se- quence, 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 2022.07.31 std::basic_...iew::compare(3)
NAME | Synopsis | Parameters | Return value | Complexity | Example | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::string_view::compare&sektion=3&manpath=FreeBSD+Ports+15.0>
