|
SimpleWindow
|
通用变体类,用于存储任意类型的对象 更多...
#include <Variant.h>
Public 成员函数 | |
| Variant ()=default | |
| 默认构造函数,创建一个空的Variant对象 | |
| template<typename T , typename std::enable_if<!std::is_same< Variant, typename std::decay< T >::type >::value, int >::type = 0> | |
| Variant (T &&obj) | |
| 通用构造函数,接受任意类型的对象 | |
| Variant (const Variant &other) | |
| 拷贝构造函数 | |
| Variant (Variant &&other) noexcept | |
| 移动构造函数 | |
| Variant & | operator= (const Variant &other) |
| 拷贝构造函数 | |
| Variant & | operator= (Variant &&other) noexcept |
| 移动构造函数 | |
| operator bool () const noexcept | |
| 布尔转换运算符,判断Variant对象是否为空 | |
| bool | IsNull () const noexcept |
| 判断Variant对象是否为空 | |
| bool | Equals (const Variant &other) const noexcept |
| 判断两Variant是否为同一对象 | |
| void | Reset () |
| 重置Variant对象为空 | |
| void | Reset (const Variant &other) |
| 重置Variant对象为另一个Variant对象的值 | |
| void | Reset (Variant &&other) noexcept |
| 重置Variant对象为另一个Variant对象的值 | |
| template<typename T > | |
| auto | Reset (T &&obj) -> typename std::enable_if< !std::is_same< Variant, typename std::decay< T >::type >::value &&std::is_base_of< DynamicObject, typename std::decay< T >::type >::value >::type |
| 重置Variant对象为指定类型的对象 | |
| template<typename T > | |
| auto | Reset (T &&obj) -> typename std::enable_if< !std::is_same< Variant, typename std::decay< T >::type >::value &&!std::is_base_of< DynamicObject, typename std::decay< T >::type >::value >::type |
| 重置Variant对象为指定类型的对象 | |
| DynamicObject * | Object () const noexcept |
| 获取内部动态对象指针 | |
| template<typename T > | |
| bool | IsType (T **pout=nullptr) |
| 判断当前Variant存储的对象是否为指定类型 | |
| template<typename T > | |
| bool | IsType (const T **pout=nullptr) const |
| 判断当前Variant存储的对象是否为指定类型 | |
| template<typename T > | |
| T & | DynamicCast () |
| 将Variant对象动态转换为指定类型的引用 | |
| template<typename T > | |
| const T & | DynamicCast () const |
| 将Variant对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| T & | UnsafeCast () |
| 将Variant对象转换为指定类型的引用 | |
| template<typename T > | |
| const T & | UnsafeCast () const |
| 将Variant对象转换为指定类型的常量引用 | |
Public 成员函数 继承自 sw::IEqualityComparable< Variant > | |
| bool | Equals (const Variant & other) const |
| 判断当前对象与另一个对象是否相等 | |
| bool | operator== (const Variant & other) const |
| 判断当前对象是否与另一个对象相等 | |
| bool | operator!= (const Variant & other) const |
| 判断当前对象是否与另一个对象不相等 | |
通用变体类,用于存储任意类型的对象
|
inline |
将Variant对象动态转换为指定类型的引用
| T | 目标类型 |
| std::bad_cast | 如果转换失败或Variant为空 |
将Variant对象动态转换为指定类型的常量引用
| T | 目标类型 |
| std::bad_cast | 如果转换失败或Variant为空 |
|
inlinenoexcept |
判断Variant对象是否为空
判断当前Variant存储的对象是否为指定类型
| T | 目标类型 |
| pout | 如果不为nullptr,则将转换后的指针赋值给该参数 |
判断当前Variant存储的对象是否为指定类型
| T | 目标类型 |
| pout | 如果不为nullptr,则将转换后的指针赋值给该参数 |
|
inlinenoexcept |
获取内部动态对象指针
|
inlinenoexcept |
布尔转换运算符,判断Variant对象是否为空
拷贝构造函数
| std::runtime_error | 如果对象不可拷贝 |
重置Variant对象为另一个Variant对象的值
| std::runtime_error | 如果对象不可拷贝 |
|
inline |
重置Variant对象为指定类型的对象
| T | 对象类型 |
| obj | 对象 |
|
inline |
重置Variant对象为指定类型的对象
| T | 对象类型 |
| obj | 对象 |
|
inline |
将Variant对象转换为指定类型的引用
| T | 目标类型 |
| std::bad_cast | 如果Variant为空 |
将Variant对象转换为指定类型的常量引用
| T | 目标类型 |
| std::bad_cast | 如果Variant为空 |