std::experimental::ranges::not_equal_to
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/functional> |
||
| template< class T = void > requires EqualityComparable<T> || |
(ranges TS) | |
| template<> struct not_equal_to<void>; |
(ranges TS) | |
比較を実行するための関数オブジェクト。プライマリテンプレートは、型Tのconst左辺値に対する 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) | (プライマリnot_equal_to<T>テンプレートのメンバーのみ) |
| template< class T, class U > requires EqualityComparableWith<T, U> || |
(2) | (not_equal_to<void> 特殊化のメンバーのみ) |
[編集] 注記
std::not_equal_to とは異なり、ranges::not_equal_to は == と != の両方が有効であること (EqualityComparable および EqualityComparableWith 制約経由) を要求し、完全に ranges::equal_to で定義されています。しかし、これらの概念は == と != の結果が整合していることを要求するため、実装は直接 operator!= を使用しても構いません。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連
| x != y を実装する関数オブジェクト (クラステンプレート) |