|
|
| any () noexcept |
| | 默认构造函数
|
| | any (const any &other) |
| | 复制构造函数
|
| any & | operator= (const any &other) |
| | 复制赋值运算符
|
| | any (any &&other) noexcept |
| | 移动构造函数
|
| any & | operator= (any &&other) noexcept |
| | 移动赋值运算符
|
| template<typename T, typename VT = decay_t<T>, typename Manager = manage_t<VT>, enable_if_t< is_copy_constructible_v< VT > &&!is_same_v< inplace_construct_tag, VT > &&!is_same_v< VT, any >, int > = 0> |
| | any (T &&value) |
| | 从值构造
|
| template<typename T, typename VT = decay_t<T>, enable_if_t<!is_same_v< VT, any > &&is_copy_constructible_v< VT >, int > = 0> |
| any & | operator= (T &&value) |
| | 从值赋值
|
| template<typename T, typename... Args, typename VT = decay_t<T>, typename Manager = manage_t<VT>, enable_if_t< conjunction_v< is_copy_constructible< VT >, is_constructible< VT, Args &&... > >, int > = 0> |
| | any (inplace_construct_tag, Args &&... args) |
| | 就地构造
|
| template<typename T, typename U, typename... Args, typename VT = decay_t<T>, typename Manager = manage_t<VT>, enable_if_t< conjunction_v< is_copy_constructible< VT >, is_constructible< VT, std::initializer_list< U > &, Args &&... > >, int > = 0> |
| | any (inplace_construct_tag, std::initializer_list< U > ilist, Args &&... args) |
| | 使用初始化列表就地构造
|
|
| ~any () |
| | 析构函数
|
| template<typename T, typename... Args, typename DT = decay_t<T>, enable_if_t< conjunction_v< is_copy_constructible< DT >, is_constructible< DT, Args &&... > >, int > = 0> |
| DT & | emplace (Args &&... args) |
| | 就地构造值
|
| template<typename T, typename U, typename... Args, typename DT = decay_t<T>, enable_if_t< conjunction_v< is_copy_constructible< DT >, is_constructible< DT, std::initializer_list< U > &, Args &&... > >, int > = 0> |
| DT & | emplace (std::initializer_list< U > ilist, Args &&... args) |
| | 使用初始化列表就地构造
|
|
void | reset () noexcept |
| | 重置any对象为空
|
| NEFORCE_NODISCARD bool | has_value () const noexcept |
| | 检查是否包含值
|
| NEFORCE_NODISCARD const std::type_info & | type () const noexcept |
| | 获取存储值的类型信息
|
| void | swap (any &rhs) noexcept |
| | 交换两个any对象
|
任意类型容器
可以在运行时存储任何类型的值,提供类型安全的访问机制。 支持复制、移动、类型查询和类型转换操作。
在文件 utility/any.hpp 第 77 行定义.