<variant>

变体对象保存并管理值。 如果变体包含值,则该值的类型必须是提供给该变体的模板参数类型之一。 这些模板参数称为替代项。

要求

标头:<variant>

命名空间: std

成员

运算符

名称 描述
operator== 测试运算符左侧的变体对象是否等于右侧的变体对象。
operator!= 测试运算符左侧的变体对象是否不等于右侧的变体对象。
operator< 测试运算符左侧的变体对象是否小于右侧的变体对象。
operator<= 测试运算符左侧的变体对象是否小于或等于右侧的变体对象。
operator> 测试运算符左侧的变体对象是否大于右侧的变体对象。
operator>= 测试运算符左侧的变体对象是否大于或等于右侧的变体对象。

函数

名称 描述
get 获取对象的变体。
get_if 获取对象的变体(如果存在)。
holds_alternative 如果存在变体,则返回 true
swap 交换变体
visit 移动到下一个变体

“属性” 描述
bad_variant_access 抛出用于报告对变体对象值的无效访问的对象。
变量 一个对象,要么包含其替代类型之一的值,要么不包含值。

结构

名称 描述
hash
monostate 使变体类型默认可构造的变体的替代类型。
uses_allocator
variant_alternative 协助变体对象。
variant_size 协助变体对象。

对象

名称 描述
variant_npos

另请参阅

头文件引用