std::atomic_load, std::atomic_load_explicit

From cppreference.com
< cpp‎ | atomic
 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
Free functions for atomic operations
atomic_loadatomic_load_explicit
(C++11)(C++11)
Free functions for atomic flags
 
Defined in header <atomic>
template< class T >
T atomic_load( const std::atomic<T>* obj ) noexcept;
(1) (since C++11)
template< class T >
T atomic_load( const volatile std::atomic<T>* obj ) noexcept;
(2) (since C++11)
template< class T >

T atomic_load_explicit( const std::atomic<T>* obj,

                        std::memory_order order ) noexcept;
(3) (since C++11)
template< class T >

T atomic_load_explicit( const volatile std::atomic<T>* obj,

                        std::memory_order order ) noexcept;
(4) (since C++11)
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

atomically obtains the value of the atomic object
(public member function of std::atomic<T>)
atomically replaces the value of the atomic object with a non-atomic argument
(function template)
defines memory ordering constraints for the given atomic operation
(enum)
specializes atomic operations for std::shared_ptr
(function template)
C documentation for atomic_load, atomic_load_explicit