std::expected<T,E>:: value
From cppreference.net
|
主模板
|
||
|
constexpr
T
&
value
(
)
&
;
|
(1) | (C++23 起) |
|
constexpr
const
T
&
value
(
)
const
&
;
|
(2) | (C++23 起) |
|
constexpr
T
&&
value
(
)
&&
;
|
(3) | (C++23 起) |
|
constexpr
const
T
&&
value
(
)
const
&&
;
|
(4) | (C++23 起) |
|
void
部分特化
|
||
|
constexpr
void
value
(
)
const
&
;
|
(5) | (C++23 起) |
|
constexpr
void
value
(
)
&&
;
|
(6) | (C++23 起) |
若 * this 包含期望值,则返回所含值的引用。对于 void 部分特化不返回任何内容。
否则,抛出类型为
std::
bad_expected_access
<
std::
decay_t
<
E
>>
的异常,该异常包含
error()
的副本。
3,4)
若
std::
is_copy_constructible_v
<
E
>
或
std::
is_constructible_v
<
E, decltype
(
std
::
move
(
error
(
)
)
)
>
为
false
,则程序非良构。
目录 |
返回值
1,2)
val
3,4)
std
::
move
(
val
)
异常
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
| 缺陷报告 | 应用于 | 发布时行为 | 正确行为 |
|---|---|---|---|
| LWG 3940 | C++23 |
重载
(5,6)
未要求
E
可复制/移动构造
|
要求必须满足 |
参见
|
若存在期望值则返回该值,否则返回另一值
(公开成员函数) |
|
|
访问期望值
(公开成员函数) |
|
|
返回非期望值
(公开成员函数) |
|
|
(C++23)
|
指示对包含非期望值的
expected
进行受检访问时抛出的异常
(类模板) |