Scroll to navigation

std::packaged_task::operator()(3) C++ Standard Libary std::packaged_task::operator()(3)

NAME

std::packaged_task::operator() - std::packaged_task::operator()

Synopsis


void operator()( ArgTypes... args ); (since C++11)


Calls the stored task as if by INVOKE<R>(f, args...), where f is the stored task.
The return value of the task or any exceptions thrown are stored in the shared
state. The shared state is made ready and any threads waiting for this are
unblocked.

Parameters


args - the parameters to pass on invocation of the stored task

Return value


(none)

Exceptions


std::future_error on the following error conditions:


* The stored task has already been invoked. The error category is set to
promise_already_satisfied.
* *this has no shared state. The error category is set to no_state.

Example


This section is incomplete
Reason: no example


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
a successful call to operator() no additional
synchronized with synchronization
LWG 2142 C++11 a call to any member function of a guarantees other than what
std::future or is
std::shared_future that share their already provided by shared
shared state with *this state

See also


executes the function ensuring that the result is ready
make_ready_at_thread_exit only once the current thread exits
(public member function)

Category:


* Todo no example

2024.06.10 http://cppreference.com