类型擦除容器
更多...
#include <any.hpp>
|
|
| meta_any () noexcept=default |
| | 默认构造函数
|
| template<typename T, typename = enable_if_t<!is_same_v<decay_t<T>, meta_any>>> |
| | meta_any (T &&value) |
| | 从任意值构造
|
| | meta_any (const meta_any &other) |
| | 拷贝构造函数
|
| meta_any & | operator= (const meta_any &other) |
| | 拷贝赋值运算符
|
| NEFORCE_NODISCARD reflect::type_id | type_id () const noexcept |
| | 获取存储值的类型ID
|
| NEFORCE_NODISCARD bool | has_value () const noexcept |
| | 检查是否包含值
|
| | operator bool () const noexcept |
| | 布尔转换运算符
|
| template<typename T> |
| NEFORCE_NODISCARD T * | cast () noexcept |
| | 尝试转换为指定类型的指针
|
| template<typename T> |
| NEFORCE_NODISCARD const T * | cast () const noexcept |
| | 尝试转换为指定类型的常量指针
|
| template<typename T> |
| NEFORCE_NODISCARD T & | get () |
| | 获取存储值的引用
|
| template<typename T> |
| NEFORCE_NODISCARD const T & | get () const |
| | 获取存储值的常量引用
|
| template<typename T> |
| NEFORCE_NODISCARD bool | can_cast () const noexcept |
| | 检查是否可以转换为指定类型
|
| template<typename T> |
| NEFORCE_NODISCARD T | convert () const |
| | 转换为指定类型的值
|
类型擦除容器
可以存储任意类型的值,并提供类型安全的存取接口。
在文件 reflect/any.hpp 第 61 行定义.
◆ meta_any() [1/2]
template<typename T, typename = enable_if_t<!is_same_v<decay_t<T>, meta_any>>>
| meta_any::meta_any |
( |
T && | value | ) |
|
|
inlineexplicit |
◆ meta_any() [2/2]
| meta_any::meta_any |
( |
const meta_any & | other | ) |
|
|
inline |
◆ can_cast()
template<typename T>
| NEFORCE_NODISCARD bool meta_any::can_cast |
( |
| ) |
const |
|
inlinenoexcept |
◆ cast() [1/2]
template<typename T>
| NEFORCE_NODISCARD const T * meta_any::cast |
( |
| ) |
const |
|
inlinenoexcept |
◆ cast() [2/2]
template<typename T>
| NEFORCE_NODISCARD T * meta_any::cast |
( |
| ) |
|
|
inlinenoexcept |
◆ convert()
template<typename T>
| NEFORCE_NODISCARD T meta_any::convert |
( |
| ) |
const |
|
inline |
◆ get() [1/2]
template<typename T>
| NEFORCE_NODISCARD T & meta_any::get |
( |
| ) |
|
|
inline |
◆ get() [2/2]
template<typename T>
| NEFORCE_NODISCARD const T & meta_any::get |
( |
| ) |
const |
|
inline |
◆ has_value()
| NEFORCE_NODISCARD bool meta_any::has_value |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator bool()
| meta_any::operator bool |
( |
| ) |
const |
|
inlineexplicitnoexcept |
◆ operator=()
◆ type_id()
| NEFORCE_NODISCARD reflect::type_id meta_any::type_id |
( |
| ) |
const |
|
inlinenoexcept |
该类的文档由以下文件生成: