constexpr explicit operator bool() const noexcept;
概要
正常値を保持しているかを判定する。
戻り値
正常値を保持しているならtrue
を返し、エラー値を保持しているならfalse
を返す。
例外
投げない
例
#include <expected>
#include <iostream>
#include <string>
int main()
{
std::expected<std::string, int> x = "Hello";
if (x) {
std::cout << "val=" << *x << std::endl;
} else {
std::cout << "unex=" << x.error() << std::endl;
}
std::expected<std::string, int> y = std::unexpected{42};
if (y) {
std::cout << "val=" << *y << std::endl;
} else {
std::cout << "unex=" << y.error() << std::endl;
}
}
出力
val=Hello
unex=42
バージョン
言語
- C++23
処理系
- Clang: 16.0 ✅
- GCC: 12.1 ✅
- ICC: ??
- Visual C++: ??