InputByteStreamRef::InputByteStreamRef: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{function_begin|InputByteStreamRef(const InputByteStreamRef&) | {{function_begin|InputByteStreamRef(const InputByteStreamRef& right) noexcept; //1 | ||
InputByteStreamRef(InputByteStreamRef&&) | InputByteStreamRef(InputByteStreamRef&& right) noexcept; //2 | ||
InputByteStreamRef(IInputByteStream* pStream); | InputByteStreamRef(IInputByteStream* pStream) noexcept; //3 | ||
template <class AnotherAdapter> | |||
InputStreamRef(const AnotherAdapter& right) noexcept; //4 | |||
protected: | protected: | ||
InputByteStreamRef() | InputByteStreamRef() noexcept; //5 | ||
|{{InputByteStreamRef::InputByteStreamRef brief}} | |{{InputByteStreamRef::InputByteStreamRef brief}} | ||
# Конструктор копирования. | # Конструктор копирования. | ||
# Конструктор перемещения. | # Конструктор перемещения. | ||
# Конструктор неявного преобразования из указателя на реализацию [[IInputByteStream]] в ссылочный адаптер. | # Конструктор неявного преобразования из указателя на реализацию [[IInputByteStream]] в ссылочный адаптер. | ||
# Защищенный конструктор по умолчанию.}} | # Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером <tt>right</tt>, к типу [[IInputByteStream]]. Шаблон 5 участвует в перегрузке, если только тип <tt>interface_type</tt> типа параметра существует и задает тип, указатель на который неявно преобразуем в <source lang="cpp" inline>IInputByteStream*</source>. | ||
# Защищенный конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.}} | |||
{{function template paramlist begin}} | |||
{{function template paramlist add|AnotherAdapter|Тип адаптера {{param|right}} в конструкторе 5. Значение <source lang="cpp" inline>std::is_convertible_v<typename AnotherAdapter::interface_type*, IInputByteStream*></source> должно быть {{cpp_true}}.}} | |||
{{function template paramlist end}} | |||
{{function_paramlist begin}} | {{function_paramlist begin}} | ||
{{function_paramlist add|right|Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер.}} | |||
{{function_paramlist add|pStream|Указатель на реализацию [[IInputByteStream]], которая адаптируется создаваемым экземпляром адаптера [[InputByteStreamRef]].|paramdir=[in]}} | {{function_paramlist add|pStream|Указатель на реализацию [[IInputByteStream]], которая адаптируется создаваемым экземпляром адаптера [[InputByteStreamRef]].|paramdir=[in]}} | ||
{{function_paramlist end}} | {{function_paramlist end}} | ||
{{function_end}} | {{function_end}} |
Текущая версия на 15:04, 9 августа 2019
InputByteStreamRef(const InputByteStreamRef& right) noexcept; //1
InputByteStreamRef(InputByteStreamRef&& right) noexcept; //2
InputByteStreamRef(IInputByteStream* pStream) noexcept; //3
template <class AnotherAdapter>
InputStreamRef(const AnotherAdapter& right) noexcept; //4
protected:
InputByteStreamRef() noexcept; //5
Конструкторы адаптера.
- Конструктор копирования.
- Конструктор перемещения.
- Конструктор неявного преобразования из указателя на реализацию IInputByteStream в ссылочный адаптер.
- Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером right, к типу IInputByteStream. Шаблон 5 участвует в перегрузке, если только тип interface_type типа параметра существует и задает тип, указатель на который неявно преобразуем в
IInputByteStream*
. - Защищенный конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.
AnotherAdapter | Тип адаптера right в конструкторе 5. Значение std::is_convertible_v<typename AnotherAdapter::interface_type*, IInputByteStream*> должно быть true. |
right | Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер. | |
[in] | pStream | Указатель на реализацию IInputByteStream, которая адаптируется создаваемым экземпляром адаптера InputByteStreamRef. |