std::experimental::ranges::greater
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/functional> |
||
| template< class T = void > requires StrictTotallyOrdered<T> || |
(ranges TS) | |
| template<> struct greater<void>; |
(ranges TS) | |
比較を行う関数オブジェクトです。プライマリテンプレートは、型Tのconst lvalueに対して、引数の順序を反転させてoperator<を呼び出します。特殊化greater<void>は、関数呼び出し演算子のパラメータ型を引数から推論します(ただし、戻り値の型は推論しません)。
greaterのすべての特殊化はSemiregularです。
目次 |
[edit] メンバー型
| メンバ型 | 定義 |
is_transparent (greater<void>特殊化のみのメンバー) |
/* 不明 */ |
[edit] メンバー関数
| operator() |
最初の引数が2番目の引数より大きいかどうかをチェックします。 (public member function) |
std::experimental::ranges::greater::operator()
| constexpr bool operator()(const T& x, const T& y) const; |
(1) | (プライマリgreater<T>テンプレートのみのメンバー) |
| template< class T, class U > requires StrictTotallyOrderedWith<T, U> || |
(2) | (greater<void>特殊化のみのメンバー) |
[edit] 注記
std::greaterとは異なり、ranges::greaterは、StrictTotallyOrderedおよびStrictTotallyOrderedWith制約を通じて、6つの比較演算子<、<=、>、>=、==、!=すべてが有効であることを要求し、完全にranges::lessで定義されています。しかし、これらの概念は比較演算子の結果の一貫性を要求するため、実装は直接operator>を使用しても構いません。
[edit] 例
| このセクションは未完成です 理由: 例がありません |
[edit] 関連項目
| x > y を実装する関数オブジェクト (クラステンプレート) |