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#普通

Download history 7/week @ 2024-03-10 16/week @ 2024-03-31

每月135次下载
用于 vampire_api

MIT/Apache

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开始计数。

无运行时依赖