std::experimental::shared_future<T>:: shared_future
From cppreference.net
<
cpp
|
experimental
|
shared future
|
shared_future
(
)
noexcept
;
|
(1) | |
|
shared_future
(
std::
experimental
::
shared_future
<
T
>
&&
f
)
noexcept
;
|
(2) | |
|
shared_future
(
const
std::
experimental
::
shared_future
<
T
>
&
f
)
;
|
(3) | |
|
shared_future
(
std::
experimental
::
future
<
std::
experimental
::
shared_future
<
T
>>
&&
other
)
noexcept
;
|
(4) | |
|
shared_future
(
std::
experimental
::
future
<
T
>
&&
f
)
noexcept
;
|
(5) | |
1)
기본 생성자. 공유 상태를 참조하지 않는 빈
shared_future
객체를 생성합니다.
2)
shared_future
객체를 생성하며,
f
가 보유한 공유 상태가 있는 경우 이를 이전합니다. 생성 후
f.
valid
(
)
는
false
입니다.
3)
f
가 가진 공유 상태(shared state)와 동일한 공유 상태를 참조하는 shared future를 생성합니다(해당 상태가 존재할 경우).
4)
언래핑 생성자. 공유 상태를 참조하는
shared_future
객체를 생성합니다. 이 호출 전에
other.
valid
(
)
==
false
인 경우, 생성된
shared_future
객체는 비어 있습니다. 그렇지 않으면, 결과
shared_future
객체는 다음 중 하나가 발생할 때 준비 상태가 됩니다:
-
other
와
other.
get
(
)
가 모두 준비된 경우.
other.
get
(
)
의 값 또는 예외가 결과
shared_future객체와 연관된 공유 상태에 저장됩니다. -
other
는 준비되었지만
other.
get
(
)
가 유효하지 않은 경우.
std::future_error
타입의 예외가
std::future_errc::broken_promise
오류 조건과 함께 결과
shared_future객체와 연관된 공유 상태에 저장됩니다.
이 생성자가 반환된 후,
valid
(
)
는 이 호출 전
other.
valid
(
)
값과 동일하며,
other.
valid
(
)
==
false
입니다.
5)
shared_future
객체를 생성하며,
f
가 보유한 공유 상태가 있는 경우 이를 이전합니다. 생성 후에는
f.
valid
(
)
가
false
가 됩니다.
목차 |
매개변수
| f | - | 초기화할 다른 future 객체 |
| other | - |
unwrap할
std::experimental::future
객체
|
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 2697 | Concurrency TS |
unwrapping 생성자의 동작이 유효하지 않은
future
에 대해 불명확함
|
빈
future
를 생성함
|
참고 항목
|
future 객체를 생성합니다
(
std::shared_future<T>
의 public 멤버 함수)
|