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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
{{DISPLAYTITLE:weak_interface_ptr::weak_interface_ptr}}
{{function_begin |weak_interface_ptr() {{=}} default; //1
{{function_begin |weak_interface_ptr() {{=}} default; //1
template <class Y>
template <class Y>

Версия 18:32, 2 января 2018

weak_interface_ptr() = default; //1
template <class Y>
weak_interface_ptr(const weak_interface_ptr<Y>& right) noexcept; //2
template <class Y>
weak_interface_ptr(weak_interface_ptr<Y>&& right) noexcept; //3
template <class Y>
weak_interface_ptr(const shared_interface_ptr<Y>& right) noexcept; //4

Конструкторы класса weak_interface_ptr.

  1. Конструктор по умолчанию.
  2. Конструктор, копирующий другой указатель weak_interface_ptr на реализацию интерфейса типа Y. Конструктор определен только, если указатель Y* неявно преобразуем в typename weak_interface_ptr::element_type*.
  3. Конструктор, осуществляющий перемещение другого указателя weak_interface_ptr на реализацию интерфейса типа Y. Конструктор определен только, если указатель Y* неявно преобразуем в typename weak_interface_ptr::element_type*.
  4. Конструктор, создающий weak_interface_ptr на основе указателя с владением shared_interface_ptr.
Параметры шаблона
YТип интерфейса, указатель на который неявно преобразуется в указатель _I* (шаблонный параметр класса weak_interface_ptr) и, в результате, инициализирует создаваемый экземпляр weak_interface_ptr.
Параметры
[in]rightУмный указатель, который инициализирует создаваемый указатель weak_interface_ptr.