bool atomic_compare_exchange_weak(
atomic<integral-type>*,
integral-type * old_value, integral-type new_value) noexcept;
bool atomic_compare_exchange_weak_explicit(
volatile atomic<integral-type>*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
bool atomic_compare_exchange_weak_explicit(
atomic<integral-type>*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
integral-type atomic_fetch_add(
volatile atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_add(
atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_add_explicit(
volatile atomic<integral-type>*, integral-type,
memory_order) noexcept;
integral-type atomic_fetch_add_explicit(
atomic<integral-type>*, integral-type, memory_order) noexcept;
integral-type atomic_fetch_sub(
volatile atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_sub(
atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_sub_explicit(
volatile atomic<integral-type>*,
integral-type, memory_order) noexcept;
integral-type atomic_fetch_sub_explicit(
atomic<integral-type>*, integral-type, memory_order) noexcept;
integral-type atomic_fetch_and(
volatile atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_and(
atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_and_explicit(
volatile atomic<integral-type>*,
integral-type, memory_order) noexcept;
integral-type atomic_fetch_and_explicit(
atomic<integral-type>*, integral-type, memory_order) noexcept;
integral-type atomic_fetch_or(
volatile atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_or(
atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_or_explicit(
volatile atomic<integral-type>*,
integral-type, memory_order) noexcept;
integral-type atomic_fetch_or_explicit(
atomic<integral-type>*, integral-type, memory_order) noexcept;
integral-type atomic_fetch_xor(
volatile atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_xor(
atomic<integral-type>*, integral-type) noexcept;
integral-type atomic_fetch_xor_explicit(
volatile atomic<integral-type>*,
integral-type, memory_order) noexcept;
integral-type atomic_fetch_xor_explicit(
atomic<integral-type>*, integral-type, memory_order) noexcept;
Те операции, которые предоставляются также основным шаблоном (см. D.3.8), имеют точно такую же семантику.
STD::ATOMIC::FETCH_ADD
, ФУНКЦИЯ-ЧЛЕН
Атомарно загружает значение и заменяет его суммой его самого и аргумента i
.
Объявление
fetch_add(