std::atomic_fetch_and, std::atomic_fetch_and_explicit
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <atomic>
|
||
template< class Integral > Integral atomic_fetch_and( std::atomic<Integral>* obj, Integral arg ); |
(1) | (начиная с C++11) |
template< class Integral > Integral atomic_fetch_and( volatile std::atomic<Integral>* obj, Integral arg ); |
(2) | (начиная с C++11) |
template< class Integral > Integral atomic_fetch_and_explicit( std::atomic<Integral>* obj, Integral arg, std::memory_order order); |
(3) | (начиная с C++11) |
template< class Integral > Integral atomic_fetch_and_explicit( volatile std::atomic<Integral>* obj, Integral arg, std::memory_order order); |
(4) | (начиная с C++11) |
1-2)
Атомарно заменяет значение указано на
arg с результатом побитового И между старым значением obj и arg, и возвращает значение obj состоялась ранее, как по obj->fetch_and(arg)Оригинал:
Atomically replaces the value pointed by
arg with the result of bitwise AND between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3-4)
Атомарно заменяет значение указано на
arg с результатом побитового И между старым значением obj и arg, и возвращает значение obj состоялась ранее, как по obj->fetch_and(arg, order)Оригинал:
Atomically replaces the value pointed by
arg with the result of bitwise AND between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg, order)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| obj | — | Указатель на атомном объекте изменить
Оригинал: pointer to the atomic object to modify Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| arg | — | значение побитовое И со значением, хранящимся в атомном объекте
Оригинал: the value to bitwise AND to the value stored in the atomic object Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| order | — | памяти, синхронизация заказов для этой операции: все допустимые значения .
Оригинал: the memory synchronization ordering for this operation: all values are permitted. Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Возвращаемое значение
Значение состоялась ранее атомный объект, на который указывает
objОригинал:
The value held previously by the atomic object pointed to by
objТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Исключения
спецификация noexcept:
noexceptВозможная реализация
template< class T >
typename std::enable_if<std::is_integral<T>::value && !std::is_same<T, bool>::value, T>::type
atomic_fetch_and(std::atomic<T>* obj, T arg);
{
return obj->fetch_and(arg);
}
|
Пример
| Этот раздел не завершён Причина: нет примера |
См. также
| атомарно выполняет побитовое И между аргументом и значением атомарного объекта и получает значение, сохранённое ранее (public функция-элемент std::atomic)
| |
(C++11)(C++11) |
заменяет атомарный объект результатом поразрядного ИЛИ с неатомарным аргументом и получает предыдущее атомарное значение (шаблон функции) |
(C++11)(C++11) |
заменяет атомарный объект результатом побитового XOR с неатомарным аргументом и получает предыдущее атомарное значение (шаблон функции) |
Документация C по atomic_fetch_and, atomic_fetch_and_explicit
| |