Namespaces
Variants

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

From cppreference.net
constexpr propagate_const & operator = ( propagate_const && p ) = default ;
(1) (bibliothèque fundamentals TS v2)
template < class U >
constexpr propagate_const & operator = ( propagate_const < U > && pu ) ;
(2) (bibliothèque fundamentals TS v2)
template < class U >
constexpr propagate_const & operator = ( U && u ) ;
(3) (bibliothèque fundamentals TS v2)
propagate_const & operator = ( const propagate_const & ) = delete ;
(4) (bibliothèque fundamentals TS v2)

Soit t_ désigne le membre de données privé qui est l'objet pointeur encapsulé.

1) Opérateur d'affectation par déplacement explicitement par défaut qui affecte par déplacement this - > t_ depuis p. t_ .
2) Assigne std :: move ( pu. t_ ) à this - > t_ .
Cette surcharge participe à la résolution de surcharge seulement si U est implicitement convertible en T .
3) Affecte std:: forward < U > ( u ) à this - > t_ .
Cette surcharge participe à la résolution de surcharge seulement si U est implicitement convertible en T et si std:: decay_t < U > n'est pas une spécialisation de propagate_const .
4) L'opérateur d'affectation par copie est explicitement supprimé. propagate_const n'est pas copiable.

Paramètres

p - un autre objet propagate_const à déplacer
pu - un autre objet propagate_const d'une spécialisation différente à déplacer
u - un autre objet à assigner au pointeur contenu

Valeur de retour

* this .