Weak interface ptr::lock: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:weak_interface_ptr::lock}} {{function_begin |shared_interface_ptr<_I> lock() const noexcept;|{{weak_interface_ptr::lock brief}}}} {{function return…»)
 
 
Строка 3: Строка 3:
{{function return_value|Объект [[shared_interface_ptr]], ассоциированный с тем же указателем, что и <source lang="cpp" inline>*this</source> и, если последний не пуст, владеющий адресуемым объектом.}}
{{function return_value|Объект [[shared_interface_ptr]], ассоциированный с тем же указателем, что и <source lang="cpp" inline>*this</source> и, если последний не пуст, владеющий адресуемым объектом.}}
{{function_end}}
{{function_end}}
Операция атомарна.

Текущая версия на 19:24, 2 января 2018

shared_interface_ptr<_I> lock() const noexcept;

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

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

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