std::atomic_load,std::atomic_load_explicit (3) - Linux Manuals

std::atomic_load,std::atomic_load_explicit: std::atomic_load,std::atomic_load_explicit

NAME

std::atomic_load,std::atomic_load_explicit - std::atomic_load,std::atomic_load_explicit

Synopsis


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 > (1) (since C++11)
T atomic_load_explicit( const std::atomic<T>* 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)

Parameters


obj - pointer to the atomic object to modify
order - the memory synchronization ordering for this operation: only std::memory_order_relaxed, std::memory_order_consume, std::memory_order_acquire and std::memory_order_seq_cst are permitted.

Return value


The value that is held by the atomic object pointed to by obj

See also


                                           atomically obtains the value of the atomic object
load (public member function of std::atomic<T>)


atomic_store
atomic_store_explicit atomically replaces the value of the atomic object with a non-atomic argument
                                           (function template)
(C++11)
(C++11)


memory_order defines memory ordering constraints for the given atomic operation
                                           (enum)
(C++11)
                                           specializes atomic operations for std::shared_ptr
std::atomic_load(std::shared_ptr)_ (function template)
std::atomic_load_explicit(std::shared_ptr)