std:: atomic_fetch_xor, std:: atomic_fetch_xor_explicit
|
Definiert in Header
<atomic>
|
||
|
template
<
class
T
>
T atomic_fetch_xor
(
std::
atomic
<
T
>
*
obj,
|
(1) | (seit C++11) |
|
template
<
class
T
>
T atomic_fetch_xor
(
volatile
std::
atomic
<
T
>
*
obj,
|
(2) | (seit C++11) |
|
template
<
class
T
>
T atomic_fetch_xor_explicit
(
std::
atomic
<
T
>
*
obj,
|
(3) | (seit C++11) |
|
template
<
class
T
>
T atomic_fetch_xor_explicit
(
volatile
std::
atomic
<
T
>
*
obj,
|
(4) | (seit C++11) |
Ersetzt atomar den Wert, auf den obj zeigt, durch das Ergebnis der bitweisen XOR-Operation zwischen dem alten Wert von obj und arg . Gibt den Wert zurück, der zuvor in obj gespeichert war.
Die Operation wird so ausgeführt, als ob Folgendes ausgeführt würde:
Wenn
std::atomic<T>
kein
fetch_xor
-Mitglied hat (dieses Mitglied wird nur für
Ganzzahltypen
außer
bool
bereitgestellt), ist das Programm fehlerhaft.
Inhaltsverzeichnis |
Parameter
| obj | - | Zeiger auf das atomare Objekt, das modifiziert werden soll |
| arg | - | der Wert, der bitweise mit dem im atomaren Objekt gespeicherten Wert XOR-verknüpft wird |
| order | - | die Speichersynchronisationsreihenfolge |
Rückgabewert
Der Wert unmittelbar vor den Auswirkungen dieser Funktion in der modification order von * obj .
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| P0558R1 | C++11 |
exakte Typübereinstimmung war erforderlich, weil
T
von mehreren Argumenten abgeleitet wurde
|
T
wird nur
von obj abgeleitet |
Siehe auch
|
führt atomar eine bitweise XOR-Operation zwischen dem Argument und dem Wert des atomaren Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Mitgliedsfunktion von
std::atomic<T>
)
|
|
|
(C++11)
(C++11)
|
ersetzt das atomare Objekt durch das Ergebnis der bitweisen OR-Operation mit einem nicht-atomaren Argument und erhält den vorherigen Wert des atomaren Objekts
(Funktions-Template) |
|
(C++11)
(C++11)
|
ersetzt das atomare Objekt durch das Ergebnis der bitweisen AND-Operation mit einem nicht-atomaren Argument und erhält den vorherigen Wert des atomaren Objekts
(Funktions-Template) |
|
C-Dokumentation
für
atomic_fetch_xor
,
atomic_fetch_xor_explicit
|
|