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