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 ;
**Note:** Le code C++ présenté dans cette page ne nécessite pas de traduction car il s'agit d'un code source technique. Les termes spécifiques au C++ comme `shared_ptr`, `exchange`, `std::memory_order`, `noexcept`, etc. sont conservés dans leur forme originale conformément aux standards de programmation.

Remplace atomiquement le shared_ptr sous-jacent par desired . L'opération est une opération de lecture-modification-écriture. La mémoire est affectée selon la valeur de order .

Table des matières

Paramètres

désiré - valeur à assigner
ordre - contraintes d'ordre mémoire à appliquer

Valeur de retour

La valeur de la variable atomique avant l'appel.

Remarques

Toutes les modifications apportées à l'objet atomic_shared_ptr lui-même, et tous les incréments associés du use_count , sont garantis d'être effectués atomiquement. Les décréments associés du use_count ont lieu après l'opération atomique, mais ne font pas nécessairement partie de celle-ci. Toutes les opérations associées de destruction ou de désallocation ont lieu après l'opération atomique et n'en font pas partie.

Voir aussi

spécialise les opérations atomiques pour std::shared_ptr
(modèle de fonction)