Expand description
§enums_arena
enums_arena
is an arena that enums can be stored efficiently
usage:
#[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);