std::atomic_fetch_xor, std::atomic_fetch_xor_explicit

来自cppreference.com
< cpp‎ | atomic

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

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

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

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

                                    std::memory_order order );
(4) (C++11 起)
1-2)
原子取代的arg岁之间的值按位异或的结果所指向的数值objarg,并返回值obj举行之前,如果由obj->fetch_and(arg)
原文:
Atomically replaces the value pointed by arg with the result of bitwise XOR 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岁之间的值按位异或的结果所指向的数值objarg,并返回值obj举行之前,如果由obj->fetch_and(arg, order)
原文:
Atomically replaces the value pointed by arg with the result of bitwise XOR 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 XOR 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_xor( std::atomic<T>* obj, T arg );
{
    return obj->fetch_xor(arg);
}

[编辑] 示例

[编辑] 另请参阅

(C++11)
以原子方式执行按位异或的原子对象之间的参数的值,并获得先前保存的值
原文:
atomically performs bitwise XOR between the argument and the value of the atomic object and obtains the value held previously
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

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

(函数模板) [编辑]
atomic_fetch_xoratomic_fetch_xor_explicitC 文档