ContiguousDataStorageRef::ContiguousDataStorageRef
Версия от 15:44, 16 августа 2019; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{function_begin|ContiguousDataStorageRef() noexcept; //1 ContiguousDataStorageRef(IContiguousDataStorage* pConsequentDataStorage) noexcept; //2 ContiguousDataSto…»)
ContiguousDataStorageRef() noexcept; //1
ContiguousDataStorageRef(IContiguousDataStorage* pConsequentDataStorage) noexcept; //2
ContiguousDataStorageRef(const ContiguousDataStorageRef& right) noexcept; //3
ContiguousDataStorageRef(ContiguousDataStorageRef&& right) noexcept; //4
template <class AnotherAdapter>
ContiguousDataStorageRef(const AnotherAdapter& right) noexcept; //5
Конструкторы, определенные требованиями ссылочного адаптера.
- Конструктор по умолчанию, инициализирующий экземпляр адаптера нулевым адресом.
- Конструктор, инициализирующий экземпляр адаптера адресом реализации накопителя данных.
- Конструктор, выполняющий инициализацию адаптера копированием адреса реализации, с которой ассоциирован адаптер, указанный параметрически.
- Конструктор, выполняющий инициализацию адаптера с перемещением адреса реализации, с которой ассоциирован параметр. Состояние right в результате операции не определено.
- Конструктор, инициализирующий адаптер адресом реализации интерфейса, приведенным из адреса, заданного адаптером right, к типу IContiguousDataStorage. Шаблон 5 участвует в перегрузке, если только подтип interface_type типа параметра существует и задает тип, указатель на который неявно преобразуем в
IContiguousDataStorage*
.
AnotherAdapter | Тип адаптера right в конструкторе 5. Значение std::is_convertible_v<typename AnotherAdapter::interface_type*, IContiguousDataStorage*> должно быть true. |
[in] | pConsequentDataStorage | Указатель на реализацию IContiguousDataStorage накопителя данных. |
right | Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер. |