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 >
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)

Parameters


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.

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)

2022.07.31 http://cppreference.com