std::atomic_ref<T>::fetch_or
Von cppreference.com
< cpp | atomic | atomic ref
| Nur bereitgestellt, wenn T ein ganzzahliger 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 eines bitweisen OR der Wert und arg. Diese Operation ist eine Lese-Änderungs-Schreib-Operation. Der Speicher wird entsprechend dem Wert von order beeinflusst.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn std::is_const_v<T> false ist.
[bearbeiten] Parameter
| arg | - | das andere Argument für bitweises OR |
| Reihenfolge | - | Speicherreihenfolgebeschränkungen, die durchgesetzt werden sollen |
[bearbeiten] Rückgabewert
Der Wert des referenzierten Objekts, unmittelbar vor den Auswirkungen dieser Funktion.
[bearbeiten] 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 |
constrained to accept only non-const T |