一个类,其实例可以保存满足 ValueType 要求的任何类型的实例。
namespace boost { class any; void swap(any &, any &); template<typename ValueType> ValueType * any_cast(any *); template<typename ValueType> const ValueType * any_cast(const any *); template<typename ValueType> ValueType any_cast(any &); template<typename ValueType> ValueType any_cast(const any &); template<typename ValueType> ValueType any_cast(any &&); }
namespace boost { class bad_any_cast; }
一个具有可定制的小对象优化功能的类,其实例可以保存满足 ValueType 要求的任何类型的实例。 如果不确定,请使用 boost::any 。
namespace boost { namespace anys { template<std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> class basic_any; template<std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> void swap(basic_any< OptimizeForSize, OptimizeForAlignment > &, basic_any< OptimizeForSize, OptimizeForAlignment > &); template<typename ValueType, std::size_t Size, std::size_t Alignment> ValueType * any_cast(basic_any< Size, Alignment > *); template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> const ValueType * any_cast(const basic_any< OptimizeForSize, OptimizeForAlignment > *); template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> ValueType any_cast(basic_any< OptimizeForSize, OptimizeForAlignment > &); template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> ValueType any_cast(const basic_any< OptimizeForSize, OptimizeForAlignment > &); template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment> ValueType any_cast(basic_any< OptimizeForSize, OptimizeForAlignment > &&); } }
Boost.Any 库类型的前向声明。
一个类,其实例可以保存任何类型的实例(包括不可复制和不可移动的类型)。
namespace boost { namespace anys { template<typename T> struct in_place_type_t; class unique_any; in_place_type_t< T > in_place_type; void swap(unique_any &, unique_any &); template<typename T> T * any_cast(unique_any *); template<typename T> const T * any_cast(const unique_any *); template<typename T> T any_cast(unique_any &); template<typename T> T any_cast(const unique_any &); template<typename T> T any_cast(unique_any &&); } }