std::ranges::not_equal_to
From cppreference.com
< cpp | utility | functional
| ヘッダ <functional> で定義 |
||
| struct not_equal_to; |
(C++20以降) | |
比較を実行するための関数オブジェクト。引数から関数呼び出し演算子のパラメータ型を推論します(返り値の型は推論しません)。
目次 |
[編集] ネストされた型
| ネストされた型 | 定義 |
is_transparent
|
unspecified |
[編集] メンバ関数
| operator() |
引数が等しくないかどうかをチェックします (public member function) |
std::ranges::not_equal_to::operator()
| template< class T, class U > constexpr bool operator()( T&& t, U&& u ) const; |
||
return !ranges::equal_to{}(std::forward<T>(t), std::forward<U>(u));に相当します。
このオーバーロードは、std::equality_comparable_with<T, U>が満たされている場合にのみ、オーバーロード解決に参加します。
[編集] 注記
std::not_equal_toとは異なり、std::ranges::not_equal_toは、equality_comparable_with制約を通じて、==と!=の両方が有効であることを要求し、std::ranges::equal_toによって完全に定義されています。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3530 | C++20 | ポインタを比較する際の構文チェックが緩和されました。 | 意味的な要件のみが緩和されています。 |
[編集] 関連項目
| x != y を実装する関数オブジェクト (クラステンプレート) |