std::experimental::promise<R>:: promise (library fundamentals TS)
From cppreference.net
<
cpp
|
experimental
|
lib extensions
|
promise
|
promise
(
)
;
|
(1) | (라이브러리 fundamentals TS) |
|
template
<
class
Alloc
>
promise ( std:: allocator_arg_t , const Alloc & alloc ) ; |
(2) | (라이브러리 fundamentals TS) |
|
promise
(
promise
&&
other
)
noexcept
;
|
(3) | (라이브러리 fundamentals TS) |
|
promise
(
const
promise
&
other
)
=
delete
;
|
(4) | (라이브러리 fundamentals TS) |
std::experimental::promise
객체를 생성합니다.
1)
기본 생성자. 빈 공유 상태로 promise를 생성합니다.
2)
빈 공유 상태로 promise를 생성합니다. 공유 상태는
alloc
을 사용하여 할당되며, 이는 타입 삭제된 할당자로 처리됩니다(아래 참조).
3)
이동 생성자.
other
의 공유 상태를 이동 의미론을 사용하여 생성합니다. 생성 후,
other
는 공유 상태를 가지지 않습니다.
4)
std::experimental::promise
는 복사할 수 없습니다.
타입 소거 할당자
promise
의 생성자 중 할당자 인수
alloc
을 취하는 생성자는 해당 인수를 타입 삭제된 할당자로 취급합니다.
promise
가 메모리를 할당하는 데 사용하는 메모리 리소스 포인터는 (지정된 경우) 할당자 인수를 사용하여 다음과 같이 결정됩니다:
alloc
의
유형 |
메모리 리소스 포인터의 값 |
| 존재하지 않음 (생성 시 allocator 지정되지 않음) | 생성 시점의 std:: experimental :: pmr :: get_default_resource ( ) 값 |
| std::nullptr_t | 생성 시점의 std:: experimental :: pmr :: get_default_resource ( ) 값 |
|
std::
experimental
::
pmr
::
memory_resource
*
로 변환 가능한
포인터 유형 |
static_cast < std:: experimental :: pmr :: memory_resource * > ( alloc ) |
|
std::experimental::pmr::polymorphic_allocator
의
특수화 |
alloc. resource ( ) |
|
Allocator
요구사항을 충족하는
다른 모든 유형 |
std::
experimental
::
pmr
::
resource_adaptor
<
A
>
(
alloc
)
유형의 값을 가리키는 포인터.
여기서
A
는
alloc
의 유형입니다.
포인터는
promise
객체의 수명 동안에만 유효합니다.
|
| 위의 어떤 경우에도 해당하지 않음 | 프로그램의 형식이 올바르지 않습니다. |
매개변수
| alloc | - | 공유 상태를 할당하는 데 사용할 할당자 |
| other | - |
상태를 획득할 다른
std::experimental::promise
|
예외
1,2)
(없음)