packaged_task::operator (Operator)

Ruft das aufrufbare Objekt, das im zugeordneten asynchronen Zustand gespeichert wird, speichert atomar den zurückgegebenen Wert und legt den Zustand, um vorzubereiten auf.

void operator()(ArgTypes... args);

Hinweise

Wenn das Objekt packaged_task keinen zugeordneten asynchronen Zustand hat, löst diese Methode future_error, der einen Fehlercode von no_state verfügt.

Wenn diese Methode oder make_ready_at_thread_exit bereits für ein packaged_task-Objekt aufgerufen wurde, die den gleichen zugeordneten asynchronen Zustand hat, löst die Methode future_error aus, die einen Fehlercode von promise_already_satisfied verfügt.

Andernfalls ruft dieser Operator INVOKE(fn, args..., Ty) auf, in dem das Fn aufrufbare Objekt ist, das im zugeordneten asynchronen Zustand gespeichert wird.Jeder zurückgegebene Wert wird atomar gespeichert, während das zurückgegebene Ergebnis des zugeordneten asynchronen Zustands und der Zustand festgelegt wird, um vorzubereiten.Daher werden alle Threads, die auf dem zugeordneten asynchronen Zustand blockiert werden, nicht blockiert.

Anforderungen

Header: Zukunft

Namespace: std

Siehe auch

Referenz

packaged_task Klasse

<future>