Namespaces
Variants

std::experimental::atomic_shared_ptr<T>:: exchange

From cppreference.net
shared_ptr < T > exchange ( shared_ptr < T > desired, std:: memory_order order = std:: memory_order_seq_cst ) noexcept ;

Ersetzt atomar den zugrunde liegenden shared_ptr mit desired . Der Vorgang ist eine Lese-Modifizier-Schreib-Operation. Der Speicher wird entsprechend dem Wert von order beeinflusst.

Inhaltsverzeichnis

Parameter

gewünscht - zuzuweisender Wert
Reihenfolge - durchzusetzende Speicherreihenfolge-Beschränkungen

Rückgabewert

Der Wert der atomaren Variable vor dem Aufruf.

Anmerkungen

Alle Änderungen am atomic_shared_ptr -Objekt selbst und alle zugehörigen use_count -Inkrementierungen werden garantiert atomar durchgeführt. Zugehörige use_count -Dekrementierungen finden nach der atomaren Operation statt, müssen jedoch nicht Teil davon sein. Alle zugehörigen Destruktions- oder Deallokationsoperationen erfolgen nach der atomaren Operation und sind nicht Teil davon.

Siehe auch

spezialisiert atomare Operationen für std::shared_ptr
(Funktionstemplate)