Bibliothèque atomique C ++ - Fetch Xor

La description

Il remplace l'objet atomique par le résultat de XOR logique par un argument non atomique et obtient la valeur précédente de l'atome.

Déclaration

Voici la déclaration pour 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 );

Voici la déclaration pour 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 );

Paramètres

  • obj - Il est utilisé en pointeur sur l'objet atomique à modifier.

  • desr - Il est utilisé pour stocker la valeur dans l'objet atomique.

  • order - Il est utilisé pour synchroniser l'ordre de la mémoire pour cette opération.

Valeur de retour

Il renvoie la valeur précédant immédiatement les effets de cette fonction dans l'ordre de modification de * obj.

Des exceptions

No-noexcept - cette fonction membre ne lève jamais d'exceptions.