std::atomic<T>::operator&=,|=,^=
| nur Mitglied von atomic<Integral > Spezialisierungen |
||
| T operator&=( T arg ) noexcept; |
(1) | (seit C++11) |
| T operator&=( T arg ) volatile noexcept; |
(2) | (seit C++11) |
| T operator|=( T arg ) noexcept; |
(3) | (seit C++11) |
| T operator|=( T arg ) volatile noexcept; |
(4) | (seit C++11) |
| T operator^=( T arg ) noexcept; |
(5) | (seit C++11) |
| T operator^=( T arg ) volatile noexcept; |
(6) | (seit C++11) |
Ersetzt den aktuellen Wert atomar durch das Ergebnis einer Berechnung, die den vorherigen Wert und arg einbezieht. Die Operation ist eine Lese-Modifizierungs-Schreib-Operation.
- operator&= führt ein atomares bitweises UND durch. Äquivalent zu return fetch_and(arg) & arg;.
- operator|= führt ein atomares bitweises ODER durch. Äquivalent zu return fetch_or(arg) | arg;.
- operator^= führt ein atomares bitweises exklusives ODER (XOR) durch. Äquivalent zu return fetch_xor(arg) ^ arg;.
|
Es ist veraltet, wenn std::atomic<T>::is_always_lock_free false ist und eine volatile-Überladung an der Überladungsauflösung teilnimmt. |
(seit C++20) |
Inhalt |
[bearbeiten] Parameter
| arg | - | das Argument für die arithmetische Operation |
[bearbeiten] Rückgabewert
Der resultierende Wert (d. h. das Ergebnis der Anwendung des entsprechenden binären Operators auf den Wert unmittelbar vor den Auswirkungen der entsprechenden Member-Funktion in der Modifikationsreihenfolge von *this).
[bearbeiten] Anmerkungen
Im Gegensatz zu den meisten zusammengesetzten Zuweisungsoperatoren geben die zusammengesetzten Zuweisungsoperatoren für atomare Typen keine Referenz auf ihr linkes Argument zurück. Stattdessen geben sie eine Kopie des gespeicherten Wertes zurück.
[bearbeiten] Siehe auch
| führt atomar eine bitweise UND-Operation zwischen dem Argument und dem Wert des atomaren Objekts aus und erhält den zuvor gehaltenen Wert (public member function) | |
| führt atomar eine bitweise ODER-Operation zwischen dem Argument und dem Wert des atomaren Objekts aus und erhält den zuvor gehaltenen Wert (public member function) | |
| führt atomar eine bitweise XOR-Operation zwischen dem Argument und dem Wert des atomaren Objekts aus und erhält den zuvor gehaltenen Wert (public member function) | |
| inkrementiert oder dekrementiert den atomaren Wert um eins (public member function) | |
| addiert oder subtrahiert vom atomaren Wert (public member function) |