weak_interface_ptr::lock

Материал из CAMaaS preliminary wiki
Версия от 19:24, 2 января 2018; Андрей Чусов (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
shared_interface_ptr<_I> lock() const noexcept;

Если смарт-указатель ассоциирован с действительным указателем на интерфейс, разделяет владение им и возвращает объект shared_interface_ptr, реализующий это владение. Если же смарт-указатель weak_interface_ptr пуст или ассоциирован с указателем на уже не существующую в памяти реализацию интерфейса, то возвращается пустой shared_interface_ptr.

Возвращаемое значение:
Объект shared_interface_ptr, ассоциированный с тем же указателем, что и *this и, если последний не пуст, владеющий адресуемым объектом.

Операция атомарна.