std::experimental::ranges:: greater
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct greater < void > ; |
(ranges TS) | |
比較を実行するための関数オブジェクト。プライマリテンプレートは、引数の順序を逆にして型
T
のconst lvalueに対して
operator
<
を呼び出します。特殊化
greater<void>
は、関数呼び出し演算子のパラメータ型を引数から推論します(ただし戻り値の型は除く)。
greater
のすべての特殊化は
Semiregular
です。
目次 |
メンバー型
| メンバー型 | 定義 |
is_transparent
(
greater<void>
特殊化のメンバーのみ)
|
/* 未指定 */ |
メンバー関数
|
operator()
|
第1引数が第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>
特殊化のメンバのみ)
|
t
と
u
を比較する。
return
ranges::
less
<>
{
}
(
std::
forward
<
U
>
(
u
)
,
std::
forward
<
T
>
(
t
)
)
;
と等価。
注記
std::greater
とは異なり、
ranges::greater
は6つの比較演算子すべて
<
、
<=
、
>
、
>=
、
==
および
!=
が(
StrictTotallyOrdered
および
StrictTotallyOrderedWith
制約によって)有効であることを要求し、
ranges::less
の観点で完全に定義されています。ただし、実装は
operator
>
を直接使用することも自由です。なぜなら、これらの概念は比較演算子の結果が一貫していることを要求するためです。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
x > y を実装する関数オブジェクト
x
>
y
(クラステンプレート) |