std::experimental::propagate_const<T>:: operator=
From cppreference.net
<
cpp
|
experimental
|
propagate const
|
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
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
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 .