Namespaces
Variants
Views
Actions

std::promise::set_value_at_thread_exit

From cppreference.com
< cpp‎ | thread‎ | promise
Revision as of 20:11, 2 November 2012 by P12bot (Talk | contribs)

Template:ddcl list begin <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
void set_value_at_thread_exit( const R& value );
</td>

<td > (1) </td> <td > (member only of generic promise template)
(since C++11) </td> </tr> <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
void set_value_at_thread_exit( R&& value );
</td>

<td > (2) </td> <td > (member only of generic promise template)
(since C++11) </td> </tr> <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
void set_value_at_thread_exit( R& value );
</td>

<td > (3) </td> <td > (member only of promise<R&> template specialization)
(since C++11) </td> </tr> <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
void set_value_at_thread_exit()
</td>

<td > (4) </td> <td > (member only of promise<void> template specialization)
(since C++11) </td> </tr> Template:ddcl list end

Stores the value into the shared state without making the state ready immediately. The state is made ready when the current thread exits, after all variables with thread-local storage duration have been destroyed.

The operation is atomic, i.e. it behaves as though they acquire a single mutex associated with the promise object while updating the promise object.

An exception is thrown if there is no shared state or the shared state already stores a value or exception.

Contents

Parameters

value - value to store in the shared state

Return value

(none)

Exceptions

std::future_error on the following conditions:

  • *this has no shared state. The error category is set to no_state.

Additionally:

1-2) Any exception thrown by the copy constructor of value
3) Any exception thrown by the move constructor of value

Example

See also

Template:cpp/thread/promise/dcl list set value