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 ;

Reemplaza atómicamente el subyacente shared_ptr con desired . La operación es una operación de lectura-modificación-escritura. La memoria se ve afectada según el valor de order .

Contenidos

Parámetros

deseado - valor a asignar
orden - restricciones de orden de memoria a aplicar

Valor de retorno

El valor de la variable atómica antes de la llamada.

Observaciones

Todos los cambios al objeto atomic_shared_ptr mismo, y todos los incrementos asociados del use_count , están garantizados de realizarse atómicamente. Los decrementos asociados del use_count ocurren después de la operación atómica, pero no requieren ser parte de ella. Cualquier operación asociada de destrucción o desasignación ocurre después de la operación atómica y no forma parte de ella.

Véase también

especializa operaciones atómicas para std::shared_ptr
(plantilla de función)