std::atomic<T>:: operator&=,|=,^=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(C++20)
|
||||
|
(C++20)
|
||||
|
(C++20)
|
||||
| Constants | ||||
|
(C++17)
|
||||
| Specialized member functions | ||||
|
Specialized for integral,
floating-point (C++20) and pointer types |
||||
|
Specialized for integral and
pointer types only |
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Specialized for integral types only | ||||
|
atomic::operator&=
atomic::operator|=
atomic::operator^=
|
|
membre uniquement des
atomic<
Integral
>
spécialisations
|
||
|
T operator
&
=
(
T arg
)
noexcept
;
|
(1) | (depuis C++11) |
|
T operator
&
=
(
T arg
)
volatile
noexcept
;
|
(2) | (depuis C++11) |
|
T operator
|
=
(
T arg
)
noexcept
;
|
(3) | (depuis C++11) |
|
T operator
|
=
(
T arg
)
volatile
noexcept
;
|
(4) | (depuis C++11) |
|
T operator
^
=
(
T arg
)
noexcept
;
|
(5) | (depuis C++11) |
|
T operator
^
=
(
T arg
)
volatile
noexcept
;
|
(6) | (depuis C++11) |
Remplace atomiquement la valeur actuelle par le résultat d'un calcul impliquant la valeur précédente et arg . L'opération est une opération 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 ; .
|
Il est déprécié si std:: atomic < T > :: is_always_lock_free est false et qu'une surcharge volatile participe à la résolution de surcharge. |
(depuis C++20) |
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 dans l' ordre de modification de * this ).
Notes
Contrairement à la plupart des opérateurs d'affectation composés, les opérateurs d'affectation composés pour les types atomiques ne renvoient pas de référence à leurs arguments de gauche. Ils renvoient plutôt une copie de la valeur stockée.
Voir aussi
|
effectue atomiquement un ET binaire entre l'argument et la valeur de l'objet atomique 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 atomique 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 atomique et obtient la valeur détenue précédemment
(fonction membre publique) |
|
|
incrémente ou décrémente la valeur atomique de un
(fonction membre publique) |
|
|
ajoute à ou soustrait de la valeur atomique
(fonction membre publique) |