atomic_store, atomic_store_explicit

< c‎ | atomic
Revision as of 21:09, 18 November 2012 by (Talk)

Template:ddcl list begin <tr class="t-dsc-header">

Defined in header <stdatomic.h>

<td></td> <td></td> <tr class="t-dcl ">

<td >
void atomic_store( volatile A* obj , C desired);

<td > (1) </td> <td > (since C11) </td> </tr> <tr class="t-dcl ">

<td >
void atomic_store_explicit( volatile A* obj, C desired, memory_order order );

<td > (2) </td> <td > (since C11) </td> </tr> Template:ddcl list end

Atomically replaces the value of the atomic variable pointed to by obj with desired. The operation is atomic wrire operation.

The first version orders memory accesses according to memory_order_seq_cst, the second version orders memory accesses according to order. order must be one of memory_order_relaxed, memory_order_release or memory_order_seq_cst. Otherwise the behavior is undefined.

This is a generic function defined for all atomic object types. A is the type of an atomic object, C is the non-atomic type corresponding to A.


obj - pointer to the atomic object to modify
order - the memory synchronization ordering for this operation

Return value


See also

Template:c/atomic/dcl list atomic load
C++ documentation for atomic_store, atomic_store_explicit