InputByteStreamRef::InputByteStreamRef

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
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

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

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