Scroll to navigation

std::atomic_load,std::atomic_load_explicit(3) C++ Standard Libary 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

2024.06.10 http://cppreference.com