Spec-Zone.ru › C++

std::atomic_load, std::atomic_load_explicit

Определено в заголовке <atomic>
template< class T >
T atomic_load( const std::atomic<T>* obj ) noexcept;
(1) (с C++11)
template< class T >
T atomic_load( const volatile std::atomic<T>* obj ) noexcept;
(2) (с C++11)
template< class T >
T atomic_load_explicit( const std::atomic<T>* obj, 
                        std::memory_order order ) noexcept;
(3) (с C++11)
template< class T >
T atomic_load_explicit( const volatile std::atomic<T>* obj, 
                        std::memory_order order ) noexcept;
(4) (с C++11)
1,2) Атомарно получает значение, на которое указывает obj так, как если бы это делалось с помощью obj->load().
3,4) Атомарно получает значение, на которое указывает obj так, как если бы это делалось с помощью obj->load(order).
Если порядок задаётся одним из std::memory_order_release и std::memory_order_acq_rel, поведение не определено.

Параметры

obj - указатель на атомный объект для изменения
order - порядок синхронизации памяти для данной операции

Возвращаемое значение

Значение, которое хранится в атомном объекте, на который указывает obj.

См. также

load
атомарно получает значение атомного объекта
(публичный член-функция std::atomic<T>)
atomic_storeatomic_store_explicit
(C++11)(C++11)
атомарно заменяет значение атомного объекта на неатомное аргумент
(шаблон функции)
memory_order
(C++11)
определяет ограничения порядка памяти для заданной атомной операции
(перечисление)
std::atomic_load(std::shared_ptr) std::atomic_load_explicit(std::shared_ptr)
(устарело в C++20)
специализирует атомные операции для std::shared_ptr
(шаблон функции)
C документация для atomic_load, atomic_load_explicit

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/atomic/atomic_load

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API