DataStorageCRef::DataStorageCRef
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
DataStorageCRef() noexcept; //1
DataStorageCRef(const IDataStorage* pDataStorage) noexcept; //2
DataStorageCRef(const DataStorageCRef& right) noexcept; //3
DataStorageCRef(DataStorageCRef&& right) noexcept; //4
template <class AnotherAdapter>
DataStorageCRef(const AnotherAdapter& right) noexcept; //5
Конструкторы, определенные требованиями ссылочного адаптера.
- Конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.
- Конструктор, инициализирующий экземпляр адаптера адресом реализации потока.
- Конструктор, выполняющий инициализацию адаптера с копированием адаптируемой реализации интерфейса.
- Конструктор, выполняющий инициализацию адаптера с перемещением адаптируемой реализации интерфейса. Состояние right в результате операции не определено.
- Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером right, к типу IDataStorage. Шаблон 5 участвует в перегрузке, если только подтип interface_type типа параметра существует и задает тип, указатель на который неявно преобразуем в
const IDataStorage*
.
AnotherAdapter | Тип адаптера right в конструкторе 5. Значение std::is_convertible_v<typename AnotherAdapter::interface_type*, const IDataStorage*> должно быть true. |
[in] | pDataStorage | Указатель на реализацию адаптируемого интерфейса накопителя данных. |
right | Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер. |