Defined in header <string_view> | ||
|---|---|---|
template< class CharT, class Traits >
constexpr bool operator==( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (1) | (since C++17) |
template< class CharT, class Traits >
constexpr bool operator!=( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (2) | (since C++17) (until C++20) |
template< class CharT, class Traits >
constexpr bool operator<( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (3) | (since C++17) (until C++20) |
template< class CharT, class Traits >
constexpr bool operator<=( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (4) | (since C++17) (until C++20) |
template< class CharT, class Traits >
constexpr bool operator>( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (5) | (since C++17) (until C++20) |
template< class CharT, class Traits >
constexpr bool operator>=( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (6) | (since C++17) (until C++20) |
template< class CharT, class Traits >
constexpr /*comp-cat*/
operator<=>( std::basic_string_view<CharT,Traits> lhs,
std::basic_string_view<CharT,Traits> rhs ) noexcept;
| (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()):
lhs and rhs are equal and each character in lhs has an equivalent character in rhs at the same position. 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).
| lhs, rhs | - | views to compare |
true if the corresponding comparison holds, false otherwise.static_cast</*comp-cat*/>(lhs.compare(rhs) <=> 0).Linear in the size of the views.
Sufficient additional overloads can be implemented through non-deduced context in one parameter type.
| Three-way comparison result type of | (since C++20) |
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