Freigeben über


atomic-Struktur

Beschreibt ein Objekt, das atomare Operationen auf einen gespeicherten Wert vom Typ führt Ty.

template <class Ty>
struct atomic;

Mitglieder

Hh874651.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Beschreibung

atomic::atomic-Konstruktor

Erstellt eine atomic-Objekt.

Hh874651.collapse_all(de-de,VS.110).gifÖffentliche Operatoren

Name

Beschreibung

atomic::operator Ty-Operator

Liest und gibt den gespeicherten Wert.(atomic::load-Methode)

cbegin-Methode

Verwendet den angegebenen Wert um zu den gespeicherten Wert zu ersetzen.(atomic::store-Methode)

atomic::operator++-Operator

Erhöht den gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet.

atomic::operator+=-Operator

Fügt einen angegebenen Wert mit dem gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet.

atomic::operator-- Operator

Dekrementiert den gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet.

atomic::operator-= Operator

Subtrahiert einen angegebenen Wert aus dem gespeicherten Wert.Nur vom Integral und Zeiger Spezialisierungen verwendet.

atomic::operator&= Operator

Führt eine bitweise and auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet.

atomic::operator|= Operator

Führt eine bitweise or auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet.

atomic::operator^= Operator

Führt eine bitweise exclusive or auf einen angegebenen Wert und der gespeicherte Wert.Nur von integralen Spezialisierungen verwendet.

Hh874651.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Beschreibung

atomic::compare_exchange_strong-Methode

Führt eine atomic_compare_and_exchange Operation auf this und das Ergebnis zurückgibt.

atomic::compare_exchange_weak-Methode

Führt eine weak_atomic_compare_and_exchange Operation auf this und das Ergebnis zurückgibt.

atomic::fetch_add-Methode

Fügt einen angegebenen Wert mit dem gespeicherten Wert.

atomic::fetch_and-Methode

Führt eine bitweise and auf einen angegebenen Wert und der gespeicherte Wert.

atomic::fetch_or-Methode

Führt eine bitweise or auf einen angegebenen Wert und der gespeicherte Wert.

atomic::fetch_sub-Methode

Subtrahiert einen angegebenen Wert aus dem gespeicherten Wert.

atomic::fetch_xor-Methode

Führt eine bitweise exclusive or auf einen angegebenen Wert und der gespeicherte Wert.

atomic::is_lock_free-Methode

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.

atomic::load-Methode

Liest und gibt den gespeicherten Wert.

atomic::store-Methode

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

Siehe auch

Referenz

<atomic>

Weitere Ressourcen

Headerdateien