Namespaces
Variants

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

From cppreference.net
promise ( ) ;
(1) (Bibliothek Fundamentals TS)
template < class Alloc >
promise ( std:: allocator_arg_t , const Alloc & alloc ) ;
(2) (Bibliothek Fundamentals TS)
promise ( promise && other ) noexcept ;
(3) (Bibliothek Fundamentals TS)
promise ( const promise & other ) = delete ;
(4) (Bibliothek Fundamentals TS)

Konstruiert ein std::experimental::promise Objekt.

1) Standardkonstruktor. Konstruiert das Promise mit einem leeren gemeinsamen Zustand.
2) Konstruiert das Promise mit einem leeren gemeinsamen Zustand. Der gemeinsame Zustand wird mit alloc alloziert, das als ein typgelöschter Allokator behandelt wird (siehe unten).
3) Move-Konstruktor. Konstruiert das Promise mit dem gemeinsamen Zustand von other unter Verwendung von Move-Semantik. Nach der Konstruktion hat other keinen gemeinsamen Zustand mehr.
4) std::experimental::promise ist nicht kopierbar.

Typgelöschter Allokator

Die Konstruktoren von promise , die ein Allokator-Argument alloc entgegennehmen, behandeln dieses Argument als einen typgelöschten Allokator. Der vom promise zur Speicherallokation verwendete Zeiger auf die Speicherressource wird unter Verwendung des Allokator-Arguments (falls angegeben) wie folgt bestimmt:

Typ von alloc Wert des Memory-Resource-Zeigers
Nicht vorhanden (kein Allokator bei Konstruktion angegeben) Der Wert von std:: experimental :: pmr :: get_default_resource ( ) zum Zeitpunkt der Konstruktion.
std::nullptr_t Der Wert von std:: experimental :: pmr :: get_default_resource ( ) zum Zeitpunkt der Konstruktion.
Ein Zeigertyp konvertierbar zu
std:: experimental :: pmr :: memory_resource *
static_cast < std:: experimental :: pmr :: memory_resource * > ( alloc )
Eine Spezialisierung von
std::experimental::pmr::polymorphic_allocator
alloc. resource ( )
Jeder andere Typ, der die Allocator Anforderungen erfüllt Ein Zeiger auf einen Wert vom Typ std:: experimental :: pmr :: resource_adaptor < A > ( alloc ) , wobei A der Typ von alloc ist. Der Zeiger bleibt nur für die Lebensdauer des promise Objekts gültig.
Keiner der oben genannten Das Programm ist fehlerhaft.

Parameter

alloc - Allokator, der zur Allokation des gemeinsamen Zustands verwendet wird
other - ein weiteres std::experimental::promise , von dem der Zustand übernommen wird

Ausnahmen

1,2) (keine)