Namespaces
Variants
Views
Actions

std::experimental::basic_string_view<CharT,Traits>::compare

From cppreference.com
 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 
 
constexpr int compare(basic_string_view v) const noexcept;
(1) (library fundamentals TS)
constexpr int compare(size_type pos1, size_type count1,
                      basic_string_view v) const
(2) (library fundamentals TS)
constexpr int compare(size_type pos1, size_type count1, basic_string_view v,
                      size_type pos2, size_type count2) const;
(3) (library fundamentals TS)
constexpr int compare(const CharT* s) const;
(4) (library fundamentals TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s) const;
(5) (library fundamentals TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s, size_type count2) const;
(6) (library fundamentals TS)

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 table:
Condition Result Return value
Traits::compare(data(), v.data(), rlen) < 0 this is less than v <0
Traits::compare(data(), v.data(), rlen) == 0 size() < v.size() this is less than v <0
size() == v.size() this is equal to v 0
size() > v.size() this is greater than v >0
Traits::compare(data(), v.data(), rlen) > 0 this is greater than v >0
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)).

Contents

[edit] 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

[edit] 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.

[edit] Complexity

1) Linear in the number of characters compared.

[edit] See also

lexicographically compares two views
(function template) [edit]