Namespaces
Variants
Views
Actions

atomic_load, atomic_load_explicit

From cppreference.com
< c‎ | atomic
Revision as of 23:24, 2 November 2012 by P12bot (Talk | contribs)

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

<td>
Defined in header <stdatomic.h>
</td>

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

<td >
C atomic_load( volatile A* obj );
</td>

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

<td >
C atomic_load_explicit( volatile A* obj, memory_order order );
</td>

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

Atomically loads and returns the current value of the atomic variable pointed to by obj. The operation is atomic read 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_consume, memory_order_acquire 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.

Parameters

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

Return value

The current value of the atomic variable pointed to by obj.

See also

Template:c/atomic/dcl list atomic store
C++ documentation for atomic_load, atomic_load_explicit