最終更新日時(UTC): 2025年08月26日 09時12分52秒
Raclamusi が更新

履歴 編集

class
<expected>

# std::unexpect_t(C++23)

    namespace std {
      struct unexpect_t {
        explicit unexpect_t() = default;
      };

      inline constexpr unexpect_t unexpect{};
    }

## 概要

`unexpected_t`は、`expected`コンストラクタにおいて、エラー値型のコンストラクタ引数を受け取って構築するためのタグ型である。

`unexpected_t`型の定数`unexpect`が提供される。

## 例

    #include <cassert>
    #include <expected>
    #include <system_error>

    int main()
    {
      std::expected<int, std::error_code> x{std::unexpect, ETIMEDOUT, std::system_category()};
      assert(not x.has_value());
      assert(x.error().value() == ETIMEDOUT);
      assert(x.error().category() == std::system_category());
    }

### 出力

## バージョン

### 言語

- C++23

### 処理系

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

## 関連項目

- `expected`

## 参照

- P0323R12 std::expected