Descrição
Ele substitui o objeto atômico com o resultado do XOR lógico por um argumento não atômico e obtém o valor anterior do atômico.
Declaração
A seguir está a declaração para 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 );
A seguir está a declaração para 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 );
Parâmetros
obj - É usado como ponteiro para o objeto atômico a ser modificado.
desr - É usado para armazenar o valor no objeto atômico.
order - É usado para sincronizar a ordem da memória para esta operação.
Valor de retorno
Ele retorna o valor imediatamente anterior aos efeitos desta função na ordem de modificação de * obj.
Exceções
No-noexcept - esta função de membro nunca lança exceções.