C++ Atomic Library - Fetch Xor
Description
It replaces the atomic object with the result of logical XOR with a non-atomic argument and obtains the previous value of the atomic.
Declaration
Following is the declaration for std::atomic_fetch_xor.
template< class Integral > Integral atomic_fetch_xor( volatile std::atomic<Integral>* obj, Integral arg );
C++11
template< class Integral > Integral atomic_fetch_xor( std::atomic<Integral>* obj, Integral arg );
Following is the declaration for std::atomic_fetch_xor_explicit.
template< class Integral >
Integral atomic_fetch_xor_explicit( std::atomic<Integral>* obj, Integral arg,
std::memory_order order );
C++11
template< class Integral >
Integral atomic_fetch_xor_explicit( volatile std::atomic<Integral>* obj, Integral arg,
std::memory_order order );
Parameters
obj − It is used in pointer to the atomic object to modify.
desr − It is used to store the value in the atomic object.
order − It is used to synchronise the memory ordering for this operation.
Return Value
It returns the value immediately preceding the effects of this function in the modification order of *obj.
Exceptions
No-noexcept − this member function never throws exceptions.
atomic.htm
Advertisements