Namespaces
Variants

std::experimental::promise<R>:: promise (library fundamentals TS)

From cppreference.net
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) (없음)