std::ranges::greater
From cppreference.com
< cpp | utility | functional
| ヘッダ <functional> で定義 |
||
| struct greater; |
(C++20以降) | |
比較を実行するための関数オブジェクト。引数から関数呼び出し演算子のパラメータ型を推論します(返り値の型は推論しません)。
目次 |
[編集] ネストされた型
| ネストされた型 | 定義 |
is_transparent
|
unspecified |
[編集] メンバ関数
| operator() |
最初の引数が2番目の引数より*大きい*かどうかをチェックします (public member function) |
std::ranges::greater::operator()
| template< class T, class U > constexpr bool operator()( T&& t, U&& u ) const; |
||
return ranges::less{}(std::forward<U>(u), std::forward<T>(t));と同等です。
このオーバーロードは、std::totally_ordered_with<T, U> が満たされている場合にのみ、オーバーロード解決に参加します。
[編集] 注釈
std::greaterとは異なり、std::ranges::greaterは、6つの比較演算子<、<=、>、>=、==、および!=すべてが有効であること(totally_ordered_with制約経由)を要求し、std::ranges::lessで完全に定義されています。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3530 | C++20 | ポインタを比較する際の構文チェックが緩和されました。 | 意味的な要件のみが緩和されています。 |
[編集] 関連項目
| x > y を実装する関数オブジェクト (クラステンプレート) |