总览

Any 用于储存任意 C++ 类型的值。

构造函数

Any(void)


说明
默认构造函数。
参数
无。
异常
有。
返回值
无。

template Any(U&& value)


说明
放入一个值。支持完美转发。
参数
value:值
异常
有。
返回值
无。

Any(const Any& that)


说明
拷贝构造函数。
参数
that:拷贝对象
异常
有。
返回值
无。

Any(Any&& that)noexcept


说明
移动构造函数。
参数
that:移动对象
异常
无。
返回值
无。

公共成员函数

Any& operator=(const Any& input)


说明
拷贝赋值运算符。
参数
input:拷贝的对象
异常
有。
返回值
*this

Any& operator=(Any&& input)noexcept


说明
移动赋值运算符。
参数
input:移动的对象
异常
无。
返回值
*this

inline bool has_value() const


说明
该对象是否持有一个值。
参数
无。
异常
有。
返回值
当持有值时返回 true;否则返回 false;

inline std::type_index type() const


说明
获取持有的值的类型。
参数
无。
异常
有。
返回值
std::type_index。

template inline void set(T&& value)


说明
删除老的值(不存在则不会删除),放入新的值。
参数
value:值
异常
有。
返回值
无。

template inline U& get()const


说明
获取保存的值。
参数
需要显式传入模板参数,该参数是一个类型模板参数,表明要将保存的值转换到什么类型并获取。无普通参数。
异常
有。当保存的值无法转换到用户指定的类型(通过模板参数表明)时,抛出 DC::DC_ERROR。
返回值
转换后的值。