std::experimental::any:: operator=
From cppreference.net
<
cpp
|
experimental
|
any
|
any
&
operator
=
(
const
any
&
rhs
)
;
|
(1) | (library fundamentals TS) |
|
any
&
operator
=
(
any
&&
rhs
)
noexcept
;
|
(2) | (library fundamentals TS) |
|
template
<
typename
ValueType
>
any & operator = ( ValueType && rhs ) ; |
(3) | (library fundamentals TS) |
Присваивает содержимое содержащемуся значению.
1)
Присваивает копированием состояние
rhs
, как если бы было выполнено
any
(
rhs
)
.
swap
(
*
this
)
.
2)
Присваивает путем перемещения состояния
rhs
, как если бы с помощью
any
(
std
::
move
(
rhs
)
)
.
swap
(
*
this
)
.
rhs
остается в допустимом, но неопределенном состоянии после присваивания.
3)
Присваивает тип и значение
rhs
, как если бы с помощью
any
(
std::
forward
<
ValueType
>
(
rhs
)
)
.
swap
(
*
this
)
. Если
std::
is_copy_constructible
<
std::
decay_t
<
ValueType
>>
::
value
равно
false
, программа является некорректной. Эта перегрузка участвует в разрешении перегрузки только если
std::
decay_t
<
ValueType
>
не является тем же типом, что и
any
.
Содержание |
Параметры шаблона
| ValueType | - | тип содержащегося значения |
| Требования к типу | ||
-
std::decay_t<ValueType>
должен удовлетворять требованиям
CopyConstructible
.
|
||
Параметры
| rhs | - | объект, чье содержащееся значение присваивается |
Возвращаемое значение
* this
Исключения
1,3)
Выбрасывает
bad_alloc
или любое исключение, выброшенное конструктором содержащегося типа. Если исключение выбрасывается, эффекты отсутствуют (гарантия строгой безопасности исключений).
Смотрите также
создает объект
any
(публичная функция-член) |