// 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
処理系
- Clang: 16.0 ✅
- GCC: 12.1 ✅
- ICC: ??
- Visual C++: ??