std::experimental::any:: operator=
From cppreference.net
<
cpp
|
experimental
|
any
|
any
&
operator
=
(
const
any
&
rhs
)
;
|
(1) | (ライブラリ基盤仕様 TS) |
|
any
&
operator
=
(
any
&&
rhs
)
noexcept
;
|
(2) | (ライブラリ基盤仕様 TS) |
|
template
<
typename
ValueType
>
any & operator = ( ValueType && rhs ) ; |
(3) | (ライブラリ基盤仕様 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
オブジェクトを構築する
(公開メンバ関数) |