7个版本
0.2.3 | 2024年2月7日 |
---|---|
0.2.2 | 2023年10月24日 |
0.1.2 | 2023年9月26日 |
0.1.1 | 2023年5月17日 |
#87 in 无标准库
310 每月下载量
用于 2 crates
68KB
1.5K SLoC
c-enum
Rust宏,用于轻松定义类似于C枚举的结构体。
示例
use c_enum::c_enum;
c_enum! {
#[derive(Copy, Clone, PartialEq, Eq, Ord, PartialOrd, Hash)]
pub enum Variant: u32 {
A,
B,
C = 5,
}
}
fn main() {
let v1 = Variant::A;
let v2 = Variant::from(77);
match v1 {
Variant::A => println!("A"), // named values...
Variant::B => println!("B"),
Variant(77) => println!("77"), // values without named variants also work
_ => println!("other value"),
}
}