operator==,!=,<,<=,>,>= (std::experimental::basic_string_view)
|
ヘッダで定義
<experimental/string_view>
|
||
|
二つの
basic_string_view
オブジェクトを比較
|
||
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
==
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(1) | (ライブラリ基盤 TS) |
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
!
=
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(2) | (ライブラリ基盤 TS) |
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
<
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(3) | (ライブラリ基盤 TS) |
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
<=
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(4) | (ライブラリ基盤 TS) |
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
>
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(5) | (ライブラリ基盤 TS) |
|
template
<
class
CharT,
class
Traits
>
constexpr
bool
operator
>=
(
basic_string_view
<
CharT,Traits
>
lhs,
|
(6) | (ライブラリ基盤 TS) |
2つのビューを比較します。
すべての比較は
compare()
メンバ関数(これはそれ自体が
Traits::compare()
で定義されています)を通じて行われます:
- 2つのビューは、 lhs と rhs のサイズが等しく、かつ lhs の各文字が同じ位置にある rhs の対応する文字と等しい場合に等しいと見なされます。
- 順序比較は辞書式に行われます -- 比較は std::lexicographical_compare と同等の関数によって実行されます。
実装は、これらの関数に対して十分な追加の
constexpr
および
noexcept
オーバーロードを提供しなければならない。これにより、
basic_string_view<CharT,Traits>
オブジェクト
sv
を、
basic_string_view<CharT,Traits>
への暗黙変換が可能な別のオブジェクト
t
と比較できるようにする。そのセマンティクスは、
sv
と
basic_string_view<CharT,Traits>(t)
を比較する場合と同一でなければならない。
パラメータ
| lhs, rhs | - | 比較対象のビュー |
戻り値
true 対応する比較が成立する場合、 false それ以外の場合。
計算量
ビューのサイズに対して線形。