Namespaces
Variants

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

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

Lassen Sie t_ das private Datenelement bezeichnen, das das umschlossene zeigerähnliche Objekt ist.

1) Explizit defaulteter Move-Zuweisungsoperator, der this - > t_ von p. t_ move-zuweist.
2) Weist std :: move ( pu. t_ ) an this - > t_ zu.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn U implizit in T konvertierbar ist.
3) Weist std:: forward < U > ( u ) an this - > t_ zu.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn U implizit in T konvertierbar ist und std:: decay_t < U > keine Spezialisierung von propagate_const ist.
4) Der Kopierzuweisungsoperator ist explizit gelöscht. propagate_const ist nicht kopierbar.

Parameter

p - ein weiteres propagate_const -Objekt, von dem verschoben werden soll
pu - ein weiteres propagate_const -Objekt einer anderen Spezialisierung, von dem verschoben werden soll
u - ein weiteres Objekt, das dem enthaltenen Zeiger zugewiesen werden soll

Rückgabewert

* this .