Function std::mem::variant_count[][src]

pub fn variant_count<T>() -> usize
🔬 This is a nightly-only experimental API. (variant_count #73662)
Expand description

返回枚举类型 T 中的变体数。

如果 T 不是枚举,则调用此函数不会导致未定义的行为,但返回值是未指定的。 同样,如果 T 是变体数大于 usize::MAX 的枚举,则未指定返回值。 无人居住的变体将被计算在内。

Examples


use std::mem;

enum Void {}
enum Foo { A(&'static str), B(i32), C(i32) }

assert_eq!(mem::variant_count::<Void>(), 0);
assert_eq!(mem::variant_count::<Foo>(), 3);

assert_eq!(mem::variant_count::<Option<!>>(), 2);
assert_eq!(mem::variant_count::<Result<!, !>>(), 2);
Run