std::variant_size, std::variant_size_v_C++中文网
| 定义于头文件 |
||
| template <class T> |
(1) | (C++17 起) |
| template <class... Types> struct variant_size<std::variant<Types...>> |
(2) | (C++17 起) |
| template <class T> class variant_size<const T>; template <class T> class variant_size<volatile T>; |
(3) | (C++17 起) |
提供作为编译时常量表达式,对可有 cv 限定的 variant 中可选项数量的访问。
正式地,
2) 满足基特征 (BaseCharacteristic) 为 std::integral_constant<std::size_t, sizeof...(Types)> 的一元类型特征 (UnaryTypeTrait) 要求
3) 满足基特征 (BaseCharacteristic) 为 std::integral_constant<std::size_t, variant_size<T>> 的一元类型特征 (UnaryTypeTrait) 要求
辅助变量模板
| template <class T> |
(C++17 起) | |
注意
所有 std::variant_size 的特化都满足以某些 N 的 std::integral_constant<std::size_t, N> 为基特征 (BaseCharacteristic) 的一元类型特征 (UnaryTypeTrait) 。