std::atomic_fetch_or, std::atomic_fetch_or_explicit

来自cppreference.com
< cpp‎ | atomic

定义于头文件 <atomic>
template< class Integral >
Integral atomic_fetch_or( std::atomic<Integral>* obj, Integral arg );
(1) (C++11 起)
template< class Integral >
Integral atomic_fetch_or( volatile std::atomic<Integral>* obj, Integral arg );
(2) (C++11 起)
template< class Integral >

Integral atomic_fetch_or_explicit( std::atomic<Integral>* obj, Integral arg,

                                   std::memory_order order );
(3) (C++11 起)
template< class Integral >

Integral atomic_fetch_or_explicit( volatile std::atomic<Integral>* obj, Integral arg,

                                   std::memory_order order );
(4) (C++11 起)
1-2)
原子取代所指向的数值arg的结果按位OR之间的旧值objarg,并返回值obj举行之前,如果由obj->fetch_and(arg)
原文:
Atomically replaces the value pointed by arg with the result of bitwise OR between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
3-4)
原子取代所指向的数值arg的结果按位OR之间的旧值objarg,并返回值obj举行之前,如果由obj->fetch_and(arg, order)
原文:
Atomically replaces the value pointed by arg with the result of bitwise OR between the old value of obj and arg, and returns the value obj held previously, as if by obj->fetch_and(arg, order)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

obj -
指针的原子对象修改
原文:
pointer to the atomic object to modify
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
arg -
位或存储的值的原子对象的价值
原文:
the value to bitwise OR to the value stored in the atomic object
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
order -
的的内存sycnhronization订购此操作:所有的允许值.
原文:
the memory sycnhronization ordering for this operation: all values are permitted.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

以前保存的值的原子对象所指向的obj
原文:
The value held previously by the atomic object pointed to by obj
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 例外

noexcept 规定:  
noexcept
  

[编辑] 可能的实现

template< class T >
typename std::enable_if<std::is_integral<T>::value && !std::is_same<T, bool>::value, T>::type
atomic_fetch_or( std::atomic<T>* obj, T arg );
{
    return obj->fetch_or(arg);
}

[编辑] 示例

[编辑] 另请参阅

原子地进行参数和原子对象的值的逐位或,并获得先前保有的值
(std::atomic 的公开成员函数) [编辑]
将原子对象的值替换为它和非原子对象的值的逻辑AND结果,并返回旧值
原文:
replaces the atomic object with the result of logical AND with a non-atomic argument and obtains the previous value of the atomic
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数模板) [编辑]
将原子对象的值替换为它和非原子对象的值的逻辑XOR结果,并返回旧值
原文:
replaces the atomic object with the result of logical XOR with a non-atomic argument and obtains the previous value of the atomic
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(函数模板) [编辑]
atomic_fetch_or, atomic_fetch_or_explicitC 文档