名前空間
変種
操作

std::ranges::not_equal_to

From cppreference.com
< cpp‎ | utility‎ | functional
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
関数オブジェクト
関数の呼び出し
(C++17)(C++23)
恒等関数オブジェクト
(C++20)
透過的な演算子ラッパー
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

古いバインダとアダプタ
(C++17まで*)
(C++17まで*)
(C++17まで*)
(C++17まで*)  
(C++17まで*)
(C++17*まで)(C++17*まで)(C++17*まで)(C++17*まで)
(C++20まで*)
(C++20まで*)
(C++17*まで)(C++17*まで)
(C++17*まで)(C++17*まで)

(C++17まで*)
(C++17*まで)(C++17*まで)(C++17*まで)(C++17*まで)
(C++20まで*)
(C++20まで*)
 
ヘッダ <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 を実装する関数オブジェクト
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)