Crate enums_arena

Source
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);

Modules§

mock

Derive Macros§

EnumsIdArena