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