Namensräume
Varianten
Aktionen

std::experimental::atomic_weak_ptr<T>::exchange

Von cppreference.com
 
 
 
 
 
weak_ptr<T> exchange( weak_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept;

Ersetzt atomar den zugrundeliegenden weak_ptr durch desired. Die Operation ist eine Lese-Modifizierungs-Schreib-Operation. Der Speicher wird entsprechend dem Wert von order beeinflusst.

Inhalt

[bearbeiten] Parameter

desired - zuweisender Wert
Reihenfolge - Speicherreihenfolgebeschränkungen, die durchgesetzt werden sollen

[bearbeiten] Rückgabewert

Der Wert der atomaren Variablen vor dem Aufruf.

[bearbeiten] Anmerkungen

Alle Änderungen am atomic_weak_ptr-Objekt selbst und alle zugehörigen Inkremente von use_count werden garantiert atomar durchgeführt. Zugehörige Dekremente von use_count erfolgen nach der atomaren Operation, müssen aber nicht Teil davon sein. Jegliche zugehörige Zerstörungs- oder Freigabeoperationen erfolgen nach der atomaren Operation und sind nicht Teil davon.

[bearbeiten] Siehe auch

spezialisiert atomare Operationen für std::shared_ptr
(Funktionsschablone) [bearbeiten]