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