Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/atomic/atomic store"

From cppreference.com
< cpp‎ | atomic
(oops)
m (fix link)
Line 46: Line 46:
 
{{dcl list template | cpp/atomic/dcl list atomic_load}}
 
{{dcl list template | cpp/atomic/dcl list atomic_load}}
 
{{dcl list template | cpp/atomic/dcl list memory_order}}
 
{{dcl list template | cpp/atomic/dcl list memory_order}}
{{dcl list tfun | cpp/memory/shared_ptr/atomic_access | title=std::atomic_store{{dcl small|(std::shared_ptr)}}
+
{{dcl list tfun | cpp/memory/shared_ptr/atomic | title=std::atomic_store{{dcl small|(std::shared_ptr)}}
 
<br>std::atomic_store_explicit{{dcl small|(std::shared_ptr)}} | specializes atomic operations for {{c|std::shared_ptr}} }}
 
<br>std::atomic_store_explicit{{dcl small|(std::shared_ptr)}} | specializes atomic operations for {{c|std::shared_ptr}} }}
 
{{dcl list see c | c/atomic/atomic_store | atomic_store | atomic_store_explicit}}
 
{{dcl list see c | c/atomic/atomic_store | atomic_store | atomic_store_explicit}}
 
{{dcl list end}}
 
{{dcl list end}}

Revision as of 09:55, 7 September 2012

 
 
 

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

<td>
Defined in header <atomic>
</td>

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

<td >
template< class T >
void atomic_store( std::atomic<T>* obj, T desr );
</td>

<td > (1) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class T >
void atomic_store( volatile std::atomic<T>* obj, T desr );
</td>

<td > (2) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class T >

void atomic_store_explicit( std::atomic<T>* obj, T desr,

                            std::memory_order order);
</td>

<td > (3) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
template< class T >

void atomic_store_explicit( volatile std::atomic<T>* obj, T desr,

                            std::memory_order order);
</td>

<td > (4) </td> <td > (since C++11) </td> </tr> Template:ddcl list end

1-2) Atomically replaces the value pointed to by obj with the value of desr as if by obj->store(desr)

3-4) Atomically replaces the value pointed to by obj with the value of desr as if by obj->store(desr, order)

Contents

Parameters

obj - pointer to the atomic object to modify
desr - the value to store in the atomic object
order - the memory synchronization ordering for this operation: only std::memory_order_relaxed, std::memory_order_release and std::memory_order_seq_cst are permitted.

Return value

none.

Exceptions

noexcept specification:  
noexcept
  

See also

Template:cpp/atomic/atomic/dcl list storeTemplate:cpp/atomic/dcl list atomic loadTemplate:cpp/atomic/dcl list memory order
specializes atomic operations for std::shared_ptr
(function template)
C documentation for atomic_store, atomic_store_explicit