std::experimental::propagate_const<T>::operator=
Von cppreference.com
< cpp | experimental | propagate const
| constexpr propagate_const& operator=( propagate_const&& p ) = default; |
(1) | (Library Fundamentals TS v2) |
| template< class U > constexpr propagate_const& operator=( propagate_const<U>&& pu ); |
(2) | (Library Fundamentals TS v2) |
| template< class U > constexpr propagate_const& operator=( U&& u ); |
(3) | (Library Fundamentals TS v2) |
| propagate_const& operator=( const propagate_const& ) = delete; |
(4) | (Library Fundamentals TS v2) |
Sei t_ das private Datenmitglied, das das gekapselte zeigerähnliche Objekt darstellt.
1) Explizit voreingestellter Move-Zuweisungsoperator, der this->t_ von p.t_ verschiebt.
2) Weist std::move(pu.t_) this->t_ zu.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
U implizit in T konvertierbar ist.3) Weist std::forward<U>(u) this->t_ zu.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
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.[bearbeiten] 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 |
[bearbeiten] Rückgabewert
*this.