operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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) | (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) | (C++17以上) (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) | (C++17以上) (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) | (C++17以上) (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) | (C++17以上) (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) | (C++17以上) (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) | (C++20以上) |
2つのビューを比較します。
すべての比較は compare() メンバ関数を通して行われます (compare() 自身は Traits::compare() によって定義されます)。
lhsとrhsのサイズが等しく、lhs内のそれぞれの文字がrhs内の同じ位置の文字と等しければ、2つのビューは等しくなります。
- 順序比較は辞書的に行われます。 比較は std::lexicographical_compare と同等な関数によって行われます。
|
三方比較演算子の戻り値の型 ( |
(C++20以上) |
実装は、 basic_string_view<CharT,Traits> 型のオブジェクト sv が basic_string_view<CharT,Traits> への暗黙に変換を持つ別のオブジェクト t と比較できるように、 sv と basic_string_view<CharT,Traits>(t) を比較するのと同一のセマンティクスを持つ、これらの関数の充分な追加の constexpr および noexcept オーバーロードを提供しなければなりません。
引数
| lhs, rhs | - | 比較するビュー |
戻り値
1-6) 対応する比較が成立すれば
true、そうでなければ false。7)
static_cast</*comp-cat*/>(lhs.compare(rhs) <=> 0)。ノート
充分な追加のオーバーロードは、1つの引数における非推定文脈で実装できます。
|
std::string_view、 std::wstring_view、 std::u8string_view、 std::u16string_view および std::u32string_view の三方比較の結果の型は std::strong_ordering です。 |
(C++20以上) |
計算量
ビューのサイズに比例。