实验性库头文件 <experimental/any>
来自cppreference.com
类
| 名字 | 描述 |
(库基础 TS) |
由失败的 any_cast 所抛出的异常。 (类) |
(库基础 TS) |
保有满足 ValueType 要求的任意类型的实例的对象。 (类) |
函数
交换两个 any 实例 (函数) | |
| 对被容纳对象的类型安全访问 (函数模板) |
概要
namespace std {
namespace experimental {
inline namespace fundamentals_v1 {
class bad_any_cast : public bad_cast
{
public:
virtual const char* what() const noexcept;
};
class any
{
public:
// 6.3.1,any 构造/析构
any() noexcept;
any(const any& other);
any(any&& x) noexcept;
template <class ValueType>
any(ValueType&& value);
~any();
// 6.3.2,any 赋值
any& operator=(const any& rhs);
any& operator=(any&& rhs) noexcept;
template <class ValueType>
any& operator=(ValueType&& rhs);
// 6.3.3,any 修改函数
void clear() noexcept;
void swap(any& rhs) noexcept;
// 6.3.4,any 探察函数
bool empty() const noexcept;
const type_info& type() const noexcept;
};
// 6.4,非成员函数
void swap(any& x, any& y) noexcept;
template<class ValueType>
ValueType any_cast(const any& operand);
template<class ValueType>
ValueType any_cast(any& operand);
template<class ValueType>
ValueType any_cast(any&& operand);
template<class ValueType>
const ValueType* any_cast(const any* operand) noexcept;
template<class ValueType>
ValueType* any_cast(any* operand) noexcept;
} // namespace fundamentals_v1
} // namespace experimental
} // namespace std