std::atomic_fetch_xor, std::atomic_fetch_xor_explicit

Header: <atomic>

Atomically replaces the value pointed by obj with the result of bitwise XOR between the old value of obj and arg. Returns the value obj held previously.

# Declarations

template< class T >
T atomic_fetch_xor( std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;

(since C++11)

template< class T >
T atomic_fetch_xor( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;

(since C++11)

template< class T >
T atomic_fetch_xor_explicit( std::atomic<T>* obj,
typename std::atomic<T>::value_type arg,
std::memory_order order) noexcept;

(since C++11)

template< class T >
T atomic_fetch_xor_explicit( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg,
std::memory_order order) noexcept;

(since C++11)

# Parameters

# Return value

The value immediately preceding the effects of this function in the modification order of *obj.

# Example

This section is incompleteReason: no example

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
P0558R1C++11exact type match was required becauseT was deduced from multiple argumentsT is only deducedfrom obj

# See also