StreamCRef::StreamCRef: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
(Новая страница: «{{function_begin|StreamCRef() {{=}} default; //1 StreamCRef(const IStream* pStream) noexcept; //2 StreamCRef(const StreamCRef& right) noexcept; //3 StreamCRef(Str…») |
|||
Строка 11: | Строка 11: | ||
# Конструктор, выполняющий инициализацию адаптера с перемещением адаптируемой реализации интерфейса. Состояние <tt>right</tt> в результате операции не определено. | # Конструктор, выполняющий инициализацию адаптера с перемещением адаптируемой реализации интерфейса. Состояние <tt>right</tt> в результате операции не определено. | ||
# Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером <tt>right</tt>, к типу [[IStream]]. Шаблон 5 участвует в перегрузке, если только тип <tt>interface_type</tt> типа параметра существует и задает тип, указатель на который неявно преобразуем в <source lang="cpp" inline>const IStream*</source>.}} | # Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером <tt>right</tt>, к типу [[IStream]]. Шаблон 5 участвует в перегрузке, если только тип <tt>interface_type</tt> типа параметра существует и задает тип, указатель на который неявно преобразуем в <source lang="cpp" inline>const IStream*</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*, const IStream*></source> должно быть {{cpp_true}}.}} | |||
{{function template paramlist end}} | |||
{{function_paramlist begin}} | {{function_paramlist begin}} | ||
{{function_paramlist add|pStream|Указатель на реализацию потока.|paramdir=[in]}} | {{function_paramlist add|pStream|Указатель на реализацию потока.|paramdir=[in]}} |
Версия 16:18, 7 августа 2019
StreamCRef() = default; //1
StreamCRef(const IStream* pStream) noexcept; //2
StreamCRef(const StreamCRef& right) noexcept; //3
StreamCRef(StreamCRef&& right) noexcept; //4
template <class AnotherAdapter>
StreamCRef(const AnotherAdapter& right) noexcept; //5
Конструкторы, определенные требованиями ссылочного адаптера.
- Конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.
- Конструктор, инициализирующий экземпляр адаптера адресом реализации потока.
- Конструктор, выполняющий инициализацию адаптера с копированием адаптируемой реализации интерфейса.
- Конструктор, выполняющий инициализацию адаптера с перемещением адаптируемой реализации интерфейса. Состояние right в результате операции не определено.
- Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером right, к типу IStream. Шаблон 5 участвует в перегрузке, если только тип interface_type типа параметра существует и задает тип, указатель на который неявно преобразуем в
const IStream*
.
AnotherAdapter | Тип адаптера right в конструкторе 5. Значение std::is_convertible_v<typename AnotherAdapter::interface_type*, const IStream*> должно быть true. |
[in] | pStream | Указатель на реализацию потока. |
right | Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер. |