std::ranges:: less
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<functional>
|
||
|
struct
less
;
|
(C++20以降) | |
比較を実行するための関数オブジェクト。関数呼び出し演算子のパラメータ型を引数から推論します(ただし戻り値の型は除く)。
目次 |
ネストされた型
| ネスト型 | 定義 |
is_transparent
|
unspecified |
メンバー関数
|
operator()
|
第1引数が第2引数より
小さい
かどうかをチェックする
(public member function) |
std::ranges::less:: operator()
|
template
<
class
T,
class
U
>
constexpr bool operator ( ) ( T && t, U && u ) const ; |
||
式 std:: forward < T > ( t ) < std:: forward < U > ( u ) を expr として与えられたとき:
-
-
変換後の
t
(型
P)が変換後の u (型P)より 実装定義のポインタの厳密な全順序 において先行する場合、 true を返し、そうでなければ false を返す。 -
TからPへの変換シーケンス、またはUからPへの変換シーケンスが 等価性保存 でない場合、動作は未定義。
-
変換後の
t
(型
- それ以外の場合:
-
- expr の結果を返す。
- std:: totally_ordered_with < T, U > がモデル化されない場合、動作は未定義。
このオーバーロードは、 std:: totally_ordered_with < T, U > が満たされる場合にのみオーバーロード解決に参加する。
型
T
の式
expr1
と型
U
の式
expr2
が存在し、
expr1
と
expr2
の比較結果が
厳密な全順序
(規則は下記で定義)に違反する場合、動作は未定義。
expr1 と expr2 の比較結果が厳密な全順序に従うのは、以下の式のうち 厳密に1つ が true である場合に限る:
- std :: ranges:: less { } ( expr1, expr2 )
- std :: ranges:: less { } ( expr2, expr1 )
- std :: ranges:: equal_to { } ( expr1, expr2 )
注記
std::less
とは異なり、
std::ranges::less
は6つの比較演算子すべて
<
、
<=
、
>
、
>=
、
==
および
!=
が(
totally_ordered_with
制約によって)有効であることを要求します。
例
|
このセクションは不完全です
理由: 例がありません |
欠陥報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3530 | C++20 | ポインタ比較時に構文チェックが緩和されていた | 意味論的な要件のみが緩和される |
関連項目
|
x < y を実装する関数オブジェクト
x
<
y
(クラステンプレート) |