# std::packaged_task::operator()

From cppreference.com
< cpp‎ | thread‎ | packaged task

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

Calls the stored task with `args` as the arguments. 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`.

### Notes

A successful call to `operator()` synchronizes with a call to any member function of a std::future or std::shared_future that share their shared state with *this. | (until C++14)
No additional synchronization guarantees other than what's already provided by shared state. | (since C++14)

### Example

| This section is incomplete Reason: no example

### See also

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/thread/packaged_task/operator()&oldid=88118"
Category:

- Todo no example