std::atomic_load,std::atomic_load_explicit -
std::atomic_load,std::atomic_load_explicit
Defined in header <atomic>
template< class T >
T atomic_load( const std::atomic<T>* obj )
noexcept;
template< class T >
T atomic_load( const volatile std::atomic<T>*
obj ) noexcept;
template< class T >
T atomic_load_explicit( const std::atomic<T>* (1) (since
C++11)
obj,
std::memory_order order ) noexcept; (2) (since C++11)
template< class T >
T atomic_load_explicit( const volatile
std::atomic<T>* obj,
std::memory_order order ) noexcept;
1) Atomically obtains the value pointed to by obj as if by obj->load()
2) Atomically obtains the value pointed to by obj as if by
obj->load(order)
obj - pointer to the atomic object to modify
the memory synchronization ordering for this operation: only
order - std::memory_order_relaxed, std::memory_order_consume,
std::memory_order_acquire and std::memory_order_seq_cst are permitted.
The value that is held by the atomic object pointed to by obj
load atomically obtains the value of the atomic object
(public member function of std::atomic<T>)
atomic_store atomically replaces the value of the atomic object with a
atomic_store_explicit non-atomic argument
(C++11) (function template)
(C++11)
memory_order defines memory ordering constraints for the given atomic
(C++11) operation
(enum)
std::atomic_load(std::shared_ptr) specializes atomic operations for
std::atomic_load_explicit(std::shared_ptr) std::shared_ptr
(deprecated in C++20) (function template)