std::experimental::atomic_weak_ptr<T>:: exchange
|
weak_ptr
<
T
>
exchange
(
weak_ptr
<
T
>
desired,
std::
memory_order
order
=
std::
memory_order_seq_cst
)
noexcept
;
|
||
Атомарно заменяет базовый
weak_ptr
на
desired
. Операция является операцией чтения-модификации-записи. Память затрагивается в соответствии со значением
order
.
Содержание |
Параметры
| desired | - | значение для присваивания |
| order | - | ограничения порядка памяти для применения |
Возвращаемое значение
Значение атомарной переменной до вызова.
Примечания
Все изменения самого объекта
atomic_weak_ptr
и все связанные инкременты
use_count
гарантированно выполняются атомарно. Связанные декременты
use_count
происходят после атомарной операции, но не требуют быть её частью. Любые связанные операции уничтожения или освобождения памяти происходят после атомарной операции и не являются её частью.
Смотрите также
специализирует атомарные операции для
std::shared_ptr
(шаблон функции) |