最終更新日時: 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)>{}`を返す。

## 備考

- このオーバーロードは、オペランドのいずれかの値の型が`bool`に変換できない (`!is_constructible_v<bool, ...>`) 場合にのみ使用される。
- 両方の値が`bool`に変換できる場合は、このオーバーロードは使用されず、変換演算子をとおして組み込みの`&&`／`||`（短絡評価）が適用される。
- Hidden friendsとして定義される。

## バージョン

### 言語

- 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