template <constexpr-param R>
constexpr auto operator=(R y) const noexcept;
概要
constant_wrapperが保持する値に、別のconstant_wrapperが保持する値を代入する。
戻り値
constant_wrapper<(value = R::value)>{}を返す。
備考
constant_wrapperが保持するvalueはconstであるため、value = R::valueという代入式は不適格となる。- したがって、このオーバーロードは宣言されているものの、
constant_wrapperに対してはオーバーロード解決に参加せず、使用できない。
バージョン
言語
- C++26
処理系
- Clang: 23 ✅
- GCC: 16.1 ✅
- Visual C++: 2026 Update 2 ❌
関連項目
参照
- P2781R9
std::constant_wrapper - P3978R3
constant_wrappershould unwrap on call and subscript - LWG Issue 4500.
constant_wrapperwording problems- C++26で、代入演算子の戻り値型の式が構文的に不正(丸カッコの欠落)であった問題が
constant_wrapper<(value = R::value)>のように修正された
- C++26で、代入演算子の戻り値型の式が構文的に不正(丸カッコの欠落)であった問題が
- LWG Issue 4523.
constant_wrappershould assign tovalue- C++26で、代入演算子の代入先が説明専用のオブジェクトではなく、実際に値を保持するメンバ
valueとなるよう修正され、ほかの演算子と一貫させた
- C++26で、代入演算子の代入先が説明専用のオブジェクトではなく、実際に値を保持するメンバ