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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:weak_interface_ptr}} {{class|weak_interface_ptr}}»)
 
 
Строка 1: Строка 1:
{{DISPLAYTITLE:weak_interface_ptr}}
{{DISPLAYTITLE:weak_interface_ptr}}
{{class|weak_interface_ptr}}
{{class|weak_interface_ptr}}
{{sa_list_begin}}
{{sa_list_add|[http://en.cppreference.com/w/cpp/memory/weak_ptr std::weak_ptr]|Аналогичный указатель без владения стандартной библиотеки C++.}}
{{sa_list_add|[[shared_interface_ptr]]|{{shared_interface_ptr brief}}}}
{{sa_list_add|[[unique_interface_ptr]]|{{unique_interface_ptr brief}}}}
{{sa_list_end}}

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

Реализация умного указателя, std::weak_ptr, на реализацию интерфейса без владения.

template <class _I>
struct weak_interface_ptr;
_IТип интерфейса - наследника InterfaceBase, указатель на реализацию которого определяет специализация weak_interface_ptr.
Открытые типы
ТипОписание
element_typeЭквивалентен параметру шаблона _I.
Открытые методы
МетодОписание
(конструкторы)Конструкторы класса weak_interface_ptr.
operator=Операторы присваивания.
lockЕсли смарт-указатель ассоциирован с действительным указателем на интерфейс, разделяет владение им и возвращает объект shared_interface_ptr, реализующий это владение. Если же смарт-указатель weak_interface_ptr пуст или ассоциирован с указателем на уже не существующую в памяти реализацию интерфейса, то возвращается пустой shared_interface_ptr.
Наследует открыто
КлассОписание
std::weak_ptr<_I>Общая реализация указателя без владения.
См. также
std::weak_ptrАналогичный указатель без владения стандартной библиотеки C++.
shared_interface_ptrСмарт-указатель, реализующий разделяемое владение указателями на программные интерфейсы с помощью std::shared_ptr.
unique_interface_ptrСмарт указатель на программный интерфейс, реализующий эксклюзивное владение интерфейсом.