friend constexpr bool
operator==(reference_wrapper x,
reference_wrapper y); // (1) C++26
friend constexpr bool
operator==(reference_wrapper x,
const T& y); // (2) C++26
friend constexpr bool
operator==(reference_wrapper x,
reference_wrapper<const T> y); // (3) C++26
概要
等値比較を行う。
- (1) : 同じ要素型の
reference_wrapper
同士を等値比較する - (2) :
reference_wrapper
と要素型T
を等値比較する - (3) :
reference_wrapper<T>
とreference_wrapper<const T>
を等値比較する
(2)と(3)はオペランドを左右で逆にしても使用できる。
テンプレートパラメータ制約
- (1) : 式
x.get() == y.get()
が妥当であり、その戻り値型がbool
に変換可能であること - (2) : 式
x.get() == y
が妥当であり、その戻り値型がbool
に変換可能であること - (3) : 式
x.get() == y.get()
が妥当であり、その戻り値型がbool
に変換可能であること
戻り値
-
(1) :
-
(2) :
return x.get() == y;
-
(3) :
備考
- この演算子により、以下の演算子が使用可能になる:
operator!=
例
出力
バージョン
言語
- C++26
処理系
- Clang: 3.0 ✅
- GCC: 4.4 ✅
- Visual C++: 2019 ✅