Biblioteca Atômica C ++ - Fetch Xor

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.