On this page
operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)
Defined in header <string_view> |
||
---|---|---|
|
(1) | (since C++17) |
|
(2) | (since C++17) (until C++20) |
|
(3) | (since C++17) (until C++20) |
|
(4) | (since C++17) (until C++20) |
|
(5) | (since C++17) (until C++20) |
|
(6) | (since C++17) (until C++20) |
|
(7) | (since C++20) |
Compares two views.
All comparisons are done via the compare()
member function (which itself is defined in terms of Traits::compare()
):
- Two views are equal if both the size of
lhs
andrhs
are equal and each character inlhs
has an equivalent character inrhs
at the same position. - The ordering comparisons are done lexicographically -- the comparison is performed by a function equivalent to
std::lexicographical_compare
.
The return type of three-way comparison operators ( The |
(since C++20) |
The implementation shall provide sufficient additional constexpr
and noexcept
overloads of these functions so that a basic_string_view<CharT,Traits>
object sv
may be compared to another object t
with an implicit conversion to basic_string_view<CharT,Traits>
, with semantics identical to comparing sv
and basic_string_view<CharT,Traits>(t)
.
Parameters
lhs, rhs | - | views to compare |
Return value
true
if the corresponding comparison holds, false
otherwise.
static_cast</*comp-cat*/>(lhs.compare(rhs) <=> 0)
.
Complexity
Linear in the size of the views.
Notes
Sufficient additional overloads can be implemented through non-deduced context in one parameter type.
Three-way comparison result type of |
(since C++20) |
Example
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3432 | C++20 | the return type of operator<=> was not required to be a comparison category type |
required |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/basic_string_view/operator_cmp