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