weak_interface_ptr::lock

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
shared_interface_ptr<_I> lock() const noexcept;

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

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

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