InputStreamRef::InputStreamRef

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
InputStreamRef(); //1
InputStreamRef(IInputStream* pStream) noexcept; //2
InputStreamRef(const InputStreamRef& right) noexcept; //3
InputStreamRef(InputStreamRef&& right) noexcept; //4
template <class AnotherAdapter>
InputStreamRef(const AnotherAdapter& right) noexcept; //5

Конструкторы ссылочного адаптера.

  1. Конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.
  2. Конструктор, инициализирующий экземпляр адаптера адресом реализации потока.
  3. Конструктор, выполняющий инициализацию адаптера копированием адреса реализации, с которой ассоциирован адаптер, указанный параметрически.
  4. Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Состояние right в результате операции не определено.
  5. Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером right, к типу IInputStream. Шаблон 5 участвует в перегрузке, если только тип interface_type типа параметра существует и задает тип, указатель на который неявно преобразуем в IInputStream*.
Параметры шаблона
AnotherAdapterТип адаптера right в конструкторе 5. Значение std::is_convertible_v<typename AnotherAdapter::interface_type*, IInputStream*> должно быть true.
Параметры
[in]pStreamУказатель на реализацию потока.
rightАдаптер, интерфейсный указатель которого инициализирует создаваемый адаптер.