最終更新日時: 2026年06月21日 13時52分24秒 (JST)
Akira Takahashi が更新

履歴 編集

function template
<utility>

# std::constant_wrapper::operator!=(C++26)

    template <constexpr-param L, constexpr-param R>
    friend constexpr auto operator!=(L x, R y) noexcept;

## 概要

2つの`constant_wrapper`が保持する値を`!=`で比較する。

## 戻り値

`constant_wrapper<(L::value != R::value)>{}`を返す。

## 備考

- Hidden friendsとして定義されるため、引数依存の名前探索 (ADL) でのみ発見される。
- オペランドのいずれかが`constant_wrapper`でない場合、保持する値へアンラップして通常の演算がおこなわれる。

## 例

    #include <utility>

    int main()
    {
      // 比較結果を保持するconstant_wrapperを返す
      static_assert(std::cw<5> != std::cw<3>);
    }

### 出力

## バージョン

### 言語

- C++26

### 処理系

- Clang: 23 ✅
- GCC: 16.1 ✅
- Visual C++: 2026 Update 2 ❌

## 関連項目

- `std::constant_wrapper`

## 参照

- P2781R9 `std::constant_wrapper`
- P3978R3 `constant_wrapper` should unwrap on call and subscript