atomic-Struktur
Beschreibt ein Objekt, das atomare Operationen auf einen gespeicherten Wert vom Typ führt Ty.
template <class Ty>
struct atomic;
Mitglieder
Öffentliche Konstruktoren
Name |
Beschreibung |
---|---|
Erstellt eine atomic-Objekt. |
Öffentliche Operatoren
Name |
Beschreibung |
---|---|
Liest und gibt den gespeicherten Wert.(atomic::load-Methode) |
|
Verwendet den angegebenen Wert um zu den gespeicherten Wert zu ersetzen.(atomic::store-Methode) |
|
Erhöht den gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet. |
|
Fügt einen angegebenen Wert mit dem gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet. |
|
Dekrementiert den gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet. |
|
Subtrahiert einen angegebenen Wert aus dem gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet. |
|
Führt eine bitweise and auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet. |
|
Führt eine bitweise or auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet. |
|
Führt eine bitweise exclusive or auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet. |
Öffentliche Methoden
Name |
Beschreibung |
---|---|
Führt eine atomic_compare_and_exchange Operation auf this und das Ergebnis zurückgibt. |
|
Führt eine weak_atomic_compare_and_exchange Operation auf this und das Ergebnis zurückgibt. |
|
Fügt einen angegebenen Wert mit dem gespeicherten Wert. |
|
Führt eine bitweise and auf einen angegebenen Wert und der gespeicherte Wert. |
|
Führt eine bitweise or auf einen angegebenen Wert und der gespeicherte Wert. |
|
Subtrahiert einen angegebenen Wert aus dem gespeicherten Wert. |
|
Führt eine bitweise exclusive or auf einen angegebenen Wert und der gespeicherte Wert. |
|
Gibt an, ob atomare Operationen auf this sind Lock freien.Ein atomarer Typ ist Sperre frei Wenn keine atomaren Operationen für diesen Typ Sperren verwenden. |
|
Liest und gibt den gespeicherten Wert. |
|
Verwendet den angegebenen Wert um zu den gespeicherten Wert zu ersetzen. |
Hinweise
Der Typ Ty muß Trivial kopierbar.D. h. mithilfe Memcpy müssen die Bytes kopiert eine gültige liefern Ty -Objekt, das gleich dem ursprünglichen Objekt vergleicht.Die compare_exchange_weak und compare_exchange_strong -Memberfunktionen verwenden Memcmp zu ermitteln, ob zwei Ty Werte gleich sind.Diese Funktionen nicht verwenden, werden ein Ty-definiert operator==.Die Memberfunktionen atomic verwenden, memcpy Kopieren von Werten des Typs Ty.
Eine teilweise Spezialisierung atomic<Ty *>, für alle Zeigertypen vorhanden ist.Die Spezialisierung ermöglicht das Hinzufügen eines Offsets auf den verwalteten Zeiger-Wert oder der Subtraktion eines Offsets aus.Die arithmetischen Operationen nehmen ein Argument vom Typ ptrdiff_t und passen Sie dieses Argument entsprechend der Größe des Ty mit normalen Adressenarithmetik in Einklang stehen.
Eine Spezialisierung gibt es für jeden ganzzahligen Typ außer bool.Jede Spezialisierung bietet eine Vielzahl von Methoden für atomare arithmetische und logische Operationen.
atomic<char> |
atomic<signed char> |
atomic<unsigned char> |
atomic<char16_t> |
atomic<char32_t> |
atomic<wchar_t> |
atomic<short> |
atomic<unsigned short> |
atomic<int> |
atomic<unsigned int> |
atomic<long> |
atomic<unsigned long> |
atomic<long long> |
atomic<unsigned long long> |
Integrale Spezialisierungen abgeleitet sind entsprechende **atomic_**integral Typen.Z. B. atomic<unsigned int> abgeleitet ist atomic_uint.
Anforderungen
Header: atomic
Namespace: std