std::atomic_load,std::atomic_load_explicit(3)

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

Synopsis
   Defined in header <atomic>
   template< class T > (1) (since C++11)
   T atomic_load( const std::atomic<T>* obj ) noexcept;
   template< class T > (2) (since C++11)
   T atomic_load( const volatile std::atomic<T>* obj ) noexcept;
   template< class T >
   T atomic_load_explicit( const std::atomic<T>* obj, (3) (since C++11)
                        std::memory_order order ) noexcept;
   template< class T >
   T atomic_load_explicit( const volatile std::atomic<T>* obj, (4) (since C++11)
                        std::memory_order order ) noexcept;
   1,2) Atomically obtains the value pointed to by obj as if by obj->load().
   3,4) Atomically obtains the value pointed to by obj as if by obj->load(order).
   If order is one of std::memory_order_release and std::memory_order_acq_rel, the
   behavior is undefined.

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

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

See also
   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)
   (removed in C++26)
   C documentation for
   atomic_load,
   atomic_load_explicit