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).
Если 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)(удалено в C++26)
специализирует атомарные операции для 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/cpp/atomic/atomic_load

Spec-Zone.ru

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