std::atomic_ref<T>:: operator&=,|=,^=
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
              
               Operations for arithmetic types
                (except 
                bool
               
               and pointer-to-object)
              
              | 
            ||||
| 
              
               Operations for integral types
                (except 
                bool
               
               and pointer-to-object)
              
              | 
            ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
               
                
                 
                  
                   (C++26)
                  
                 
                
                
               | 
            ||||
| 
              
               Operations for integral types
                (except 
                bool
               
               )
              
              | 
            ||||
| 
               
                
                 
                  
                   atomic_ref::operator&=
                  
                  
                   atomic_ref::operator|=
                  
                  
                   atomic_ref::operator^=
                  
                 
                
                
               | 
            ||||
| Constants | ||||
| 
           
           Fourni uniquement lorsque
            
         
            T
           
           est un type entier autre que
           
            cv
           
           
            
             bool
            
           
           | 
         ||
| 
           
           
            value_type operator
            
             &
            
            
             =
            
            
             (
            
            value_type arg
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (1) | (depuis C++20) | 
| 
           
           
            value_type operator
            
             |
            
            
             =
            
            
             (
            
            value_type arg
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (2) | (depuis C++20) | 
| 
           
           
            value_type operator
            
             ^
            
            
             =
            
            
             (
            
            value_type arg
            
             )
            
            
             const
            
            
             noexcept
            
            
             ;
            
           
           
          | 
         (3) | (depuis C++20) | 
Remplace atomiquement la valeur actuelle de l'objet référencé par le résultat du calcul impliquant la valeur précédente et arg . Ces opérations sont des opérations de lecture-modification-écriture.
- operator & = effectue un ET binaire atomique. Équivalent à return fetch_and ( arg ) & arg ; .
 - operator ! = effectue un OU binaire atomique. Équivalent à return fetch_or ( arg ) | arg ; .
 - operator ^ = effectue un OU exclusif binaire atomique. Équivalent à return fetch_xor ( arg ) ^ arg ; .
 
Ces surcharges participent à la résolution de surcharge seulement si std:: is_const_v < T > est false .
         Table des matières | 
       
Paramètres
| arg | - | l'argument pour l'opération arithmétique | 
Valeur de retour
La valeur résultante (c'est-à-dire le résultat de l'application de l'opérateur binaire correspondant à la valeur précédant immédiatement les effets de la fonction membre correspondante).
Notes
       Contrairement à la plupart des opérateurs d'affectation composée, les opérateurs d'affectation composée pour
       
        atomic_ref
       
       ne renvoient pas de référence à leurs arguments de gauche. Ils renvoient plutôt une copie de la valeur stockée.
      
Exemple
| 
         Cette section est incomplète
          Raison : aucun exemple  | 
       
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 | les opérateurs d'affectation composés n'avaient pas de sens pour const T | 
         contraint pour n'accepter que les
         
          T
         
         non-const
         | 
       
Voir aussi
| 
         effectue atomiquement un ET binaire entre l'argument et la valeur de l'objet référencé et obtient la valeur détenue précédemment
          (fonction membre publique)  | 
       |
| 
         effectue atomiquement un OU binaire entre l'argument et la valeur de l'objet référencé et obtient la valeur détenue précédemment
          (fonction membre publique)  | 
       |
| 
         effectue atomiquement un OU exclusif binaire entre l'argument et la valeur de l'objet référencé et obtient la valeur détenue précédemment
          (fonction membre publique)  | 
       |
| 
         incrémente ou décrémente atomiquement l'objet référencé de un
          (fonction membre publique)  | 
       |
| 
         ajoute ou soustrait atomiquement à la valeur référencée
          (fonction membre publique)  |