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