最終更新日時: 2026年07月22日 16時08分23秒 (JST)
rotarymars が更新

履歴 編集

function
<expected>

# std::expected.void::swap (非メンバ関数)(C++23)

    // expected<cv void, E>部分特殊化
    friend constexpr void swap(expected& x, expected& y)
      noexcept(noexcept(x.swap(y)));

## 概要

2つの`expected`オブジェクトを入れ替える。

## 効果

    x.swap(y);

## 戻り値

なし

## 例

    #include <cassert>
    #include <expected>
    #include <utility>

    int main()
    {
      std::expected<void, int> x;
      std::expected<void, int> y = std::unexpected{42};
      assert(x.has_value() && y.error() == 42);

      std::swap(x, y);
      assert(x.error() == 42 && y.has_value());
    }

### 出力

## バージョン

### 言語

- C++23

### 処理系

- Clang: 16.0 ✅
- GCC: 12.1 ✅
- ICC: ??
- Visual C++: ??

## 参照

- P0323R12 std::expected