Spec-Zone.ru › C++

std::atomic<T>::fetch_and

member only of atomic<Integral > specializations
T fetch_and( T arg, std::memory_order order =
                        std::memory_order_seq_cst ) noexcept;
(1) (since C++11)
T fetch_and( T arg, std::memory_order order =
                        std::memory_order_seq_cst ) volatile noexcept;
(2) (since C++11)

Атомарно заменяет текущее значение результатом побитового И (AND) значения и arg. Операция является операцией чтения-модификации-записи. Память затрагивается в соответствии со значением order.

Она устарела, если std::atomic<T>::is_always_lock_free является false и перегрузка (2) участвует в разрешении перегрузки.

(since C++20)

Параметры

arg - другой аргумент для побитового И (AND)
order - ограничения порядка памяти для принудительного выполнения

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

Значение, непосредственно предшествующее эффектам этой функции в порядке модификации *this.

См. также

atomic_fetch_andatomic_fetch_and_explicit
(C++11)(C++11)
заменяет атомный объект результатом побитового И (AND) с неатомным аргументом и получает предыдущее значение атомного
(шаблон функции)

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

Spec-Zone.ru

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