void atomic_init(atomic*, void*) noexcept;

template

BaseType atomic_exchange(

 volatile atomic*, memory_order) noexcept;

template

BaseType atomic_exchange(

 atomic*, memory_order) noexcept;

template

BaseType atomic_exchange_explicit(

 volatile atomic*, memory_order) noexcept;

template

BaseType atomic_exchange_explicit(

 atomic*, memory_order) noexcept;

template

void atomic_store(volatile atomic*, BaseType) noexcept;

template

void atomic_store(atomic*, BaseType) noexcept;

template

void atomic_store_explicit(

 volatile atomic*, BaseType, memory_order) noexcept;

template

void atomic_store_explicit(

 atomic*, BaseType, memory_order) noexcept;

template

BaseType atomic_load(volatile const atomic*) noexcept;

template

BaseType atomic_load(const atomic*) noexcept;

template

BaseType atomic_load_explicit(

 volatile const atomic*, memory_order) noexcept;

template

BaseType atomic_load_explicit(

 const atomic*, memory_order) noexcept;

template

bool atomic_compare_exchange_strong(

 volatile atomic*,

 BaseType * old_value, BaseType new_value) noexcept;

template

bool atomic_compare_exchange_strong(

 atomic*,

 BaseType * old_value, BaseType new_value) noexcept;

template

bool atomic_compare_exchange_strong_explicit(

 volatile atomic*, BaseType * old_value,

 BaseType new_value, memory_order success_order,

 memory_order failure_order) noexcept;

template

bool atomic_compare_exchange_strong_explicit(

 atomic*,

 BaseType * old_value, BaseType new_value,

 memory_order success_order,

 memory_order failure_order) noexcept;

template

bool atomic_compare_exchange_weak(

 volatile atomic*,

 BaseType * old_value, BaseType new_value) noexcept;

template

bool atomic_compare_exchange_weak(

 atomic*,

 BaseType * old_value, BaseType new_value) noexcept;

template

bool atomic_compare_exchange_weak_explicit(

 volatile atomic*,

 BaseType * old_value, BaseType new_value,

 memory_order success_order,

 memory_order failure_order) noexcept;

template

bool atomic_compare_exchange_weak_explicit(

 atomic*,

 BaseType * old_value, BaseType new_value,

 memory_order success_order,

 memory_order failure_order) noexcept;

Примечание. Хотя функции, не являющиеся членами класса, определены как шаблоны, они могут быть предоставлены в виде набора перегруженных функций, поэтому задавать явную спецификацию аргументов шаблона не следует.

STD::ATOMIC, КОНСТРУКТОР ПО УМОЛЧАНИЮ

Конструирует экземпляр std::atomic со значением, инициализированным по умолчанию.

Объявление

atomic() noexcept;

Результат

Конструирует новый объект std::atomic со значением, инициализированным по умолчанию. Для объектов со статическим временем жизни обеспечивается статическая инициализация.

Перейти на страницу:

Похожие книги