std::atomic_ref<T>:: fetch_and
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Fourni uniquement lorsque
T
est un type entier autre que
cv
bool
|
||
|
value_type fetch_and
(
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 ET binaire entre 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 .
Table des matières |
Paramètres
| arg | - | l'autre argument du ET 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.
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 |
fetch_and
n'avait aucun sens pour
const
T
|
contraint pour n'accepter que les
T
non constants
|