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
(
)
)
)
를 발생시킵니다.
만약
*
this
가 예상치 못한 값을 포함하고 있을 경우.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3940 | C++23 |
E
가 복사/이동 생성 가능할 필요가 없었음
(5,6)
|
필요함 |
참고 항목
|
값이 존재하면 기대값을 반환하고, 그렇지 않으면 다른 값을 반환합니다
(public member function) |
|
|
기대값에 접근합니다
(public member function) |
|
|
예상치 못한 값을 반환합니다
(public member function) |
|
|
(C++23)
|
예상치 못한 값을 포함하는
expected
에 대한 검증된 접근을 나타내는 예외
(class template) |