33个发布版本
使用旧的Rust 2015
0.12.0 | 2023年7月5日 |
---|---|
0.11.0 | 2022年11月16日 |
0.10.0 | 2022年11月6日 |
0.9.12 | 2022年3月13日 |
0.1.0 | 2017年2月5日 |
#9 在 #普通
每月135次下载
用于 vampire_api
21KB
460 行
此crate提供了一些处理静态枚举的工具。它提供了一种声明简单枚举的方法,然后提供例如values()
的方法,可以用来遍历枚举的值。此外,它提供了一个类型EnumMap
,它是一个从枚举值到某些类型的数组支持映射。
它提供了一个宏plain_enum_mod
,它声明了一个包含简单枚举及其相关功能的自定义模块。
mod examples_not_to_be_used_by_clients {
#[macro_use]
use plain_enum::*;
plain_enum_mod!{example_mod_name, ExampleEnum {
V1,
V2,
SomeOtherValue,
LastValue, // note trailing comma
}}
fn do_some_stuff() {
let map = ExampleEnum::map_from_fn(|example| // create a map from ExampleEnum to usize
example.to_usize() + 1 // enum values convertible to usize
);
for ex in ExampleEnum::values() { // iterating over the enum's values
assert_eq!(map[ex], ex.to_usize() + 1);
}
}
}
内部,该宏生成一个简单枚举,其数值从0开始计数。