std::atomic_ref<T>:: fetch_or
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nur bereitgestellt, wenn
T
ein integraler Typ außer
cv
bool
ist
|
||
|
value_type fetch_or
(
value_type arg,
std::
memory_order
order
=
|
(seit C++20) | |
Ersetzt atomar den aktuellen Wert des referenzierten Objekts durch das Ergebnis der bitweisen ODER-Verknüpfung des Werts und arg . Dieser Vorgang ist ein Lese-Modifizieren-Schreiben-Vorgang. Der Speicher wird gemäß dem Wert von order beeinflusst.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_const_v < T > false ist.
Parameter
| arg | - | das andere Argument der bitweisen ODER-Operation |
| order | - | Speicherreihenfolge-Beschränkungen zur Durchsetzung |
Rückgabewert
Der Wert des referenzierten Objekts unmittelbar vor den Auswirkungen dieser Funktion.
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
fetch_or
war bedeutungslos für
const
T
|
eingeschränkt, um nur nicht-konstantes
T
zu akzeptieren
|