Namespaces
Variants

std::experimental::propagate_const<T>:: operator=

From cppreference.net
constexpr propagate_const & operator = ( propagate_const && p ) = default ;
(1) (библиотека fundamentals TS v2)
template < class U >
constexpr propagate_const & operator = ( propagate_const < U > && pu ) ;
(2) (библиотека fundamentals TS v2)
template < class U >
constexpr propagate_const & operator = ( U && u ) ;
(3) (библиотека fundamentals TS v2)
propagate_const & operator = ( const propagate_const & ) = delete ;
(4) (библиотека fundamentals TS v2)

Пусть t_ обозначает приватный член данных, который является обернутым указатель-подобным объектом.

1) Явно определенный оператор перемещающего присваивания, который перемещает this - > t_ из p. t_ .
2) Присваивает std :: move ( pu. t_ ) в this - > t_ .
Эта перегрузка участвует в разрешении перегрузки только если U неявно преобразуется в T .
3) Присваивает std:: forward < U > ( u ) в this - > t_ .
Эта перегрузка участвует в разрешении перегрузки только если U неявно преобразуется в T и std:: decay_t < U > не является специализацией propagate_const .
4) Оператор копирующего присваивания явно удален. propagate_const не поддерживает копирование.

Параметры

p - другой объект propagate_const для перемещения
pu - другой объект propagate_const другой специализации для перемещения
u - другой объект для присвоения содержащемуся указателю

Возвращаемое значение

* this .