operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)
Defined in header <string_view>
|
||
template< class CharT, class Traits > constexpr bool operator==( std::basic_string_view<CharT,Traits> lhs, |
(1) | (since C++17) |
template< class CharT, class Traits > constexpr bool operator!=( std::basic_string_view<CharT,Traits> lhs, |
(2) | (since C++17) (until C++20) |
template< class CharT, class Traits > constexpr bool operator<( std::basic_string_view<CharT,Traits> lhs, |
(3) | (since C++17) (until C++20) |
template< class CharT, class Traits > constexpr bool operator<=( std::basic_string_view<CharT,Traits> lhs, |
(4) | (since C++17) (until C++20) |
template< class CharT, class Traits > constexpr bool operator>( std::basic_string_view<CharT,Traits> lhs, |
(5) | (since C++17) (until C++20) |
template< class CharT, class Traits > constexpr bool operator>=( std::basic_string_view<CharT,Traits> lhs, |
(6) | (since C++17) (until C++20) |
template< class CharT, class Traits > constexpr /*comp-cat*/ |
(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 operator (/*comp-cat*/) is Traits::comparison_category if it exists, std::weak_ordering otherwise. |
(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
Notes
Sufficient additional overloads can be implemented through non-deduced context in one parameter type.
Three-way comparison result type of std::string_view, std::wstring_view, std::u8string_view, std::u16string_view and std::u32string_view is std::strong_ordering. |
(since C++20) |
Complexity
Linear in the size of the views.