ConsequentDataStorageRef::ConsequentDataStorageRef: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin|ConsequentDataStorageRef() noexcept; //1 ConsequentDataStorageRef(IConsequentDataStorage* pConsequentDataStorage) noexcept; //2 ConsequentDataSto…»)
 
Строка 15: Строка 15:
{{function template paramlist end}}
{{function template paramlist end}}
{{function_paramlist begin}}
{{function_paramlist begin}}
{{function_paramlist add|pConsequentDataStorage|Указатель на реализацию [[IConsequentDataStorage]] накопителя данных.|paramdir=[in]}}
{{function_paramlist add|pStorage|Указатель на реализацию [[IConsequentDataStorage]] накопителя данных.|paramdir=[in]}}
{{function_paramlist add|right|Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер.}}
{{function_paramlist add|right|Адаптер, интерфейсный указатель которого инициализирует создаваемый адаптер.}}
{{function_paramlist end}}
{{function_paramlist end}}
{{function_end}}
{{function_end}}

Версия 20:09, 16 августа 2019

ConsequentDataStorageRef() noexcept; //1
ConsequentDataStorageRef(IConsequentDataStorage* pConsequentDataStorage) noexcept; //2
ConsequentDataStorageRef(const ConsequentDataStorageRef& right) noexcept; //3
ConsequentDataStorageRef(ConsequentDataStorageRef&& right) noexcept; //4
template <class AnotherAdapter>
ConsequentDataStorageRef(const AnotherAdapter& right) noexcept; //5

Конструкторы, определенные требованиями ссылочного адаптера.

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