std::experimental::atomic_shared_ptr<T>::exchange
Von cppreference.com
< cpp | experimental | atomic shared ptr
| 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) |