template <constexpr-param T>
constexpr auto operator++(this T self) noexcept; // 前置
template <constexpr-param T>
constexpr auto operator++(this T self, int) noexcept; // 後置
概要
constant_wrapperが保持する値をインクリメントする。
- 前置: インクリメント後の値を保持する
constant_wrapperを返す。 - 後置: インクリメント前の値を保持する
constant_wrapperを返す。
戻り値
- 前置:
constant_wrapper<(++T::value)>{}を返す。 - 後置:
constant_wrapper<(T::value++)>{}を返す。
備考
constant_wrapperが保持するvalueはconstであるため、保持する値そのものを変更する式(++value、value op= x、value = x)は不適格となる。- したがって、このオーバーロードは説明用基底クラス
cw-operatorsのインターフェースとして宣言されているものの、constant_wrapperに対してはオーバーロード解決に参加せず、使用できない。
バージョン
言語
- C++26
処理系
- Clang: 23 ✅
- GCC: 16.1 ✅
- Visual C++: 2026 Update 2 ❌