std::atomic_ref<T>:: exchange
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
           
           
            value_type exchange
            
             (
            
            value_type desired,
             
         
             
              
               std::
               
                memory_order
               
              
             
             order
             
              =
             
               | 
         (constexpr depuis C++26) | |
Remplace atomiquement la valeur de l'objet référencé par desired . L'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 uniquement si std:: is_const_v < T > est false .
Paramètres
| désiré | - | valeur à assigner | 
| ordre | - | contraintes d'ordre mémoire à appliquer | 
Valeur de retour
La valeur de l'objet référencé avant l'appel.
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 | 
         
          exchange
         
         était sans signification pour
         
          
           const
          
          T
         
         | 
        
         contraint pour n'accepter que les
         
          T
         
         non-const
         |