std::atomic_ref<T>:: fetch_or
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Fourni uniquement lorsque
T
est un type entier autre que
cv
bool
|
||
|
value_type fetch_or
(
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 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 .
Paramètres
| arg | - | l'autre argument du OU binaire |
| 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 | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
fetch_or
n'avait aucun sens pour
const
T
|
contraint pour n'accepter que les
T
non constants
|