atomic_fetch_xor

atomic_fetch_xor, atomic_fetch_xor_explicit

Defined in header <stdatomic.h>
C atomic_fetch_xor( volatile A* obj, M arg );
(1) (since C11)
C atomic_fetch_xor_explicit( volatile A* obj, M arg, memory_order order );
(2) (since C11)

Atomically replaces the value pointed by obj with the result of bitwise XOR between the old value of obj and arg, and returns the value obj held previously. The operation is read-modify-write operation. The first version orders memory accesses ac