Weak interface ptr::weak interface ptr: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
(Новая страница: «{{function_begin |weak_interface_ptr(); //1 template <class Y> weak_interface_ptr(const weak_interface_ptr<Y>& right); //2 template <class Y> weak_interface_ptr(w…») |
|||
Строка 1: | Строка 1: | ||
{{function_begin |weak_interface_ptr(); //1 | {{function_begin |weak_interface_ptr() {{=}} default; //1 | ||
template <class Y> | template <class Y> | ||
weak_interface_ptr(const weak_interface_ptr<Y>& right); //2 | weak_interface_ptr(const weak_interface_ptr<Y>& right) noexcept; //2 | ||
template <class Y> | template <class Y> | ||
weak_interface_ptr(weak_interface_ptr<Y>&& right); //3 | weak_interface_ptr(weak_interface_ptr<Y>&& right) noexcept; //3 | ||
template <class Y> | template <class Y> | ||
weak_interface_ptr(const shared_interface_ptr<Y>& right); //4|{{weak_interface_ptr::weak_interface_ptr brief}} | weak_interface_ptr(const shared_interface_ptr<Y>& right) noexcept; //4|{{weak_interface_ptr::weak_interface_ptr brief}} | ||
# Конструктор по умолчанию. | # Конструктор по умолчанию. | ||
# Конструктор, копирующий другой указатель [[weak_interface_ptr]] на реализацию интерфейса типа <tt>Y</tt>. Конструктор определен только, если указатель <tt>Y*</tt> неявно преобразуем в <source lang="cpp" inline>typename weak_interface_ptr::element_type*</source>. | # Конструктор, копирующий другой указатель [[weak_interface_ptr]] на реализацию интерфейса типа <tt>Y</tt>. Конструктор определен только, если указатель <tt>Y*</tt> неявно преобразуем в <source lang="cpp" inline>typename weak_interface_ptr::element_type*</source>. | ||
# Конструктор, | # Конструктор, осуществляющий перемещение другого указателя [[weak_interface_ptr]] на реализацию интерфейса типа <tt>Y</tt>. Конструктор определен только, если указатель <tt>Y*</tt> неявно преобразуем в <source lang="cpp" inline>typename weak_interface_ptr::element_type*</source>. | ||
# Конструктор, создающий [[weak_interface_ptr]] на основе указателя с владением [[shared_interface_ptr]] | # Конструктор, создающий [[weak_interface_ptr]] на основе указателя с владением [[shared_interface_ptr]].}} | ||
{{function template paramlist begin}} | {{function template paramlist begin}} | ||
{{function template paramlist add|Y|Тип интерфейса, указатель на который неявно преобразуется в указатель <tt>_I*</tt> (шаблонный параметр класса [[weak_interface_ptr]]) и, в результате, инициализирует создаваемый экземпляр [[weak_interface_ptr]].}} | {{function template paramlist add|Y|Тип интерфейса, указатель на который неявно преобразуется в указатель <tt>_I*</tt> (шаблонный параметр класса [[weak_interface_ptr]]) и, в результате, инициализирует создаваемый экземпляр [[weak_interface_ptr]].}} |
Версия 18:30, 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.
- Конструктор по умолчанию.
- Конструктор, копирующий другой указатель weak_interface_ptr на реализацию интерфейса типа Y. Конструктор определен только, если указатель Y* неявно преобразуем в
typename weak_interface_ptr::element_type*
. - Конструктор, осуществляющий перемещение другого указателя weak_interface_ptr на реализацию интерфейса типа Y. Конструктор определен только, если указатель Y* неявно преобразуем в
typename weak_interface_ptr::element_type*
. - Конструктор, создающий weak_interface_ptr на основе указателя с владением shared_interface_ptr.
Y | Тип интерфейса, указатель на который неявно преобразуется в указатель _I* (шаблонный параметр класса weak_interface_ptr) и, в результате, инициализирует создаваемый экземпляр weak_interface_ptr. |
[in] | right | Умный указатель, который инициализирует создаваемый указатель weak_interface_ptr. |