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
)
例外
1,2,5)
std::
bad_expected_access
(
std::
as_const
(
error
(
)
)
)
をスローする
3,4,6)
std::
bad_expected_access
(
std
::
move
(
error
(
)
)
)
をスローする
例
|
このセクションは不完全です
理由: 例がありません |
欠陥報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3940 | C++23 |
E
はオーバーロード
(5,6)
に対してcopy/move-constructibleであることが要求されていなかった
|
要求される |
関連項目
|
期待される値が存在する場合はそれを返し、そうでない場合は別の値を返す
(公開メンバ関数) |
|
|
期待される値にアクセスする
(公開メンバ関数) |
|
|
予期しない値を返す
(公開メンバ関数) |
|
|
(C++23)
|
予期しない値が含まれる
expected
へのチェック付きアクセスを示す例外
(クラステンプレート) |