Namespaces
Variants

std::experimental::any:: operator=

From cppreference.net
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 オブジェクトを構築する
(公開メンバ関数)