4 个版本
0.1.4 | 2023 年 4 月 5 日 |
---|---|
0.1.3 | 2023 年 4 月 2 日 |
0.1.2 | 2023 年 4 月 2 日 |
0.1.1 |
|
0.1.0 | 2023 年 4 月 1 日 |
1334 在 Rust 模式 中
每月 60 次下载
16KB
295 行
区域,快速高效的枚举存储
lib.rs
:
enums_arena
enums_arena
是一个高效的枚举存储区域
用法
#[derive(PartialEq, Debug, Clone, Default)]
struct Click {
x: i32,
y: i32,
}
#[derive(enums_arena_derive::EnumsIdArena, PartialEq, Debug)]
enum Event {
Click(Click),
Tick(f32),
Close,
}
let mut arena = EventIdArena::<u32, ()>::default();
let id = arena.alloc_click(Click::default());
arena.alloc_tick(1f32);
arena.alloc_close();
assert_eq!(arena.get(id), Some(Event::Click(Click::default())));
arena.clear();
assert_eq!(arena.get(id), None);
依赖关系
~0.8–1.4MB
~26K SLoC