std::atomic_ref<T>:: fetch_xor
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
           
           Fourni uniquement lorsque
            
         
            T
           
           est un type entier autre que
           
            cv
           
           
            
             bool
            
           
           | 
         ||
| 
           
           
            value_type fetch_xor
            
             (
            
            value_type arg,
             
         
             
              
               std::
               
                memory_order
               
              
             
             order
             
              =
             
               | 
         (depuis C++20) | |
Remplace atomiquement la valeur actuelle de l'objet référencé par le résultat du OU exclusif bit à bit de la valeur et arg . Cette opération est une opération de lecture-modification-écriture. La mémoire est affectée selon la valeur de order .
Cette surcharge participe à la résolution de surcharge seulement si std:: is_const_v < T > est false .
Paramètres
| arg | - | l'autre argument du XOR bit à bit | 
| order | - | contraintes d'ordre mémoire à appliquer | 
Valeur de retour
La valeur de l'objet référencé, immédiatement avant les effets de cette fonction.
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| 
         
          LWG 3508
         
          ( P3323R1 )  | 
        C++20 | 
         
          fetch_xor
         
         n'avait aucun sens pour
         
          
           const
          
          T
         
         | 
        
         contraint pour n'accepter que les
         
          T
         
         non constants
         |