std::experimental::promise<R>::promise (library fundamentals TS)
Von cppreference.com
< cpp | experimental | lib extensions | promise
| promise(); |
(1) | (library fundamentals TS) |
| template< class Alloc > promise( std::allocator_arg_t, const Alloc& alloc ); |
(2) | (library fundamentals TS) |
| promise( promise&& other ) noexcept; |
(3) | (library fundamentals TS) |
| promise( const promise& other ) = delete; |
(4) | (library 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 unter Verwendung von alloc zugewiesen, was als typ-erased Allocator 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.[edit] Typ-erased Allocator
Die Konstruktoren von promise, die ein Allocator-Argument alloc entgegennehmen, behandeln dieses Argument als typ-erased Allocator. Die Speicherressource, die promise zur Zuweisung von Speicher verwendet, wird wie folgt über das Allocator-Argument (falls angegeben) bestimmt:
Typ von alloc |
Wert des Speicherressourcenzeigers |
| Nicht vorhanden (kein Allocator zum Zeitpunkt der 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, der konvertierbar ist zu std::experimental::pmr::memory_resource* |
static_cast<std::experimental::pmr::memory_resource*>(alloc) |
| Eine Spezialisierung von std::experimental::pmr::polymorphic_allocator |
alloc.resource() |
| Ein anderer Typ, der die Anforderungen an Allocator 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. |
| Keine der obigen Optionen | Das Programm ist schlecht formuliert. |
[edit] Parameter
| alloc | - | Allocator zur Zuweisung des gemeinsamen Zustands |
| Sonstiges | - | Ein weiteres std::experimental::promise, von dem der Zustand übernommen werden soll |
[edit] Ausnahmen
1,2) (keine)