最終更新日時(UTC):
が更新

履歴 編集

function
<expected>

std::expected.void::operator bool(C++23)

// expected<cv void, E>部分特殊化
constexpr explicit operator bool() const noexcept;

概要

正常値を保持しているかを判定する。

戻り値

正常値を保持しているならtrueを返し、エラー値を保持しているならfalseを返す。

例外

投げない

#include <expected>
#include <iostream>

int main()
{
  std::expected<void, int> x;
  if (x) {
    std::cout << "has_value" << std::endl;
  } else {
    std::cout << "unex=" << x.error() << std::endl;
  }

  std::expected<void, int> y = std::unexpected{42};
  if (y) {
    std::cout << "has_value" << std::endl;
  } else {
    std::cout << "unex=" << y.error() << std::endl;
  }
}

出力

has_value
unex=42

バージョン

言語

  • C++23

処理系

関連項目

参照