Namensräume
Varianten
Aktionen

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

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

Ersetzt atomar den zugrundeliegenden shared_ptr durch desired. Die Operation ist eine Lese-Modifizierungs-Schreib-Operation. Der Speicher wird gemäß 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_shared_ptr-Objekt selbst und alle zugehörigen Inkremente von use_count sind garantiert atomar durchzuführen. Zugehörige Dekremente von use_count erfolgen nach der atomaren Operation, müssen aber nicht Teil davon sein. Alle zugehörigen Zerstörungs- oder Freigabeoperationen erfolgen nach der atomaren Operation und sind kein Teil davon.

[bearbeiten] Siehe auch

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