weak_interface_ptr::operator=

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
template <class Y>
weak_interface_ptr& operator=(const weak_interface_ptr<Y>& right) noexcept; //1
template <class Y>
weak_interface_ptr& operator=(weak_interface_ptr<Y>&& right) noexcept; //2
template <class Y>
weak_interface_ptr& operator=(const shared_interface_ptr<Y>& right) noexcept; //3

Операторы присваивания.

  1. Оператор присваивания, осуществляющий копирование состояния смарт-указателя right с преобразованием типа Y*. После вызова оба смарт-указателя ассоциированы с одним объектом. Оператор определен, только если определено неявное преобразование Y* в тип _I*, для которого определен *this.
  2. Оператор присваивания, осуществляющий перемещение состояния объекта right с преобразованием типа Y* в тип _I*, где weak_interface_ptr<_I> - тип объекта *this. После вызова объект right ассоциируется c nullptr. Оператор определен, только если определено неявное преобразование Y* в тип _I*.
  3. Оператор присваивания, который ассоциирует смарт-указатель *this с указателем, которым владеет right. Оператор определен, только если определено неявное преобразование Y* в тип _I*, где weak_interface_ptr<_I> - тип объекта *this.
Параметры шаблона
YТип интерфейса, с которым ассоциирован присваиваемый объект.
Параметры
rightПрисваиваемый объект.
Возвращаемое значение:
Ссылка на *this.

Все операторы присваивания атомарны.