SimpleWindow
载入中...
搜索中...
未找到
sw::DynamicObject类 参考

动态对象基类 更多...

#include <Reflection.h>

类 sw::DynamicObject 继承关系图:
sw::ObservableObject sw::WndBase sw::NotifyIcon sw::Timer sw::ToolTip sw::UIElement sw::BallonToolTip sw::Control sw::HwndWrapper sw::Layer sw::ItemsControl< StrList > sw::ItemsControl< TreeViewNode > sw::Animation sw::ButtonBase sw::DateTimePicker sw::HotKeyControl sw::ItemsControl< TItem > sw::MonthCalendar sw::PanelBase sw::ProgressBar sw::Slider sw::Splitter sw::StaticControl sw::StatusBar sw::SysLink sw::TabControl sw::TextBoxBase sw::PanelBase sw::Window

Public 成员函数

virtual ~DynamicObject ()=default
 析构函数
 
std::type_index GetTypeIndex () const
 获取对象的类型索引
 
template<typename T >
bool IsType (T **pout=nullptr)
 判断对象是否为指定类型
 
template<typename T >
bool IsType (const T **pout=nullptr) const
 判断对象是否为指定类型
 
template<typename T >
T & DynamicCast ()
 将对象动态转换为指定类型的引用
 
template<typename T >
const T & DynamicCast () const
 将对象动态转换为指定类型的常量引用
 
template<typename T >
auto UnsafeCast () -> typename std::enable_if< _IsStaticCastable< DynamicObject *, T * >::value, T & >::type
 将对象不安全地转换为指定类型的引用
 
template<typename T >
auto UnsafeCast () -> typename std::enable_if<!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type
 将对象不安全地转换为指定类型的引用
 
template<typename T >
auto UnsafeCast () const -> typename std::enable_if< _IsStaticCastable< DynamicObject *, T * >::value, const T & >::type
 将对象不安全地转换为指定类型的引用
 
template<typename T >
auto UnsafeCast () const -> typename std::enable_if<!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type
 将对象不安全地转换为指定类型的引用
 

详细描述

动态对象基类

成员函数说明

◆ DynamicCast() [1/2]

template<typename T >
T & sw::DynamicObject::DynamicCast ( )
inline

将对象动态转换为指定类型的引用

模板参数
T目标类型
返回
指定类型的引用
异常
std::bad_cast如果转换失败

◆ DynamicCast() [2/2]

template<typename T >
const T & sw::DynamicObject::DynamicCast ( ) const
inline

将对象动态转换为指定类型的常量引用

模板参数
T目标类型
返回
指定类型的常量引用
异常
std::bad_cast如果转换失败

◆ GetTypeIndex()

std::type_index sw::DynamicObject::GetTypeIndex ( ) const
inline

获取对象的类型索引

返回
对象的类型索引

◆ IsType() [1/2]

template<typename T >
bool sw::DynamicObject::IsType ( const T **  pout = nullptr) const
inline

判断对象是否为指定类型

模板参数
T目标类型
参数
pout如果不为nullptr,则将转换后的指针赋值给该参数
返回
如果对象为指定类型则返回true,否则返回false

◆ IsType() [2/2]

template<typename T >
bool sw::DynamicObject::IsType ( T **  pout = nullptr)
inline

判断对象是否为指定类型

模板参数
T目标类型
参数
pout如果不为nullptr,则将转换后的指针赋值给该参数
返回
如果对象为指定类型则返回true,否则返回false

◆ UnsafeCast() [1/4]

template<typename T >
auto sw::DynamicObject::UnsafeCast ( ) -> typename std::enable_if<_IsStaticCastable<DynamicObject *, T *>::value, T &>::type
inline

将对象不安全地转换为指定类型的引用

模板参数
T目标类型
返回
指定类型的引用
注解
若目标类型与当前类型不兼容,则行为未定义

◆ UnsafeCast() [2/4]

template<typename T >
auto sw::DynamicObject::UnsafeCast ( ) -> typename std::enable_if<!_IsStaticCastable<DynamicObject *, T *>::value, T &>::type
inline

将对象不安全地转换为指定类型的引用

模板参数
T目标类型
返回
指定类型的引用
注解
若目标类型与当前类型不兼容,则行为未定义

◆ UnsafeCast() [3/4]

template<typename T >
auto sw::DynamicObject::UnsafeCast ( ) const -> typename std::enable_if<_IsStaticCastable<DynamicObject *, T *>::value, const T &>::type
inline

将对象不安全地转换为指定类型的引用

模板参数
T目标类型
返回
指定类型的引用
注解
若目标类型与当前类型不兼容,则行为未定义

◆ UnsafeCast() [4/4]

template<typename T >
auto sw::DynamicObject::UnsafeCast ( ) const -> typename std::enable_if<!_IsStaticCastable<DynamicObject *, T *>::value, const T &>::type
inline

将对象不安全地转换为指定类型的引用

模板参数
T目标类型
返回
指定类型的引用
注解
若目标类型与当前类型不兼容,则行为未定义

该类的文档由以下文件生成: