Crates.io | ordinal-map |
lib.rs | ordinal-map |
version | 0.1.6 |
source | src |
created_at | 2024-06-24 00:41:28.601648 |
updated_at | 2024-06-24 01:51:13.822503 |
description | Ordinal trait to map values to integers and efficient maps and sets for such types |
homepage | |
repository | https://github.com/stepancheg/ordinal-map |
max_upload_size | |
id | 1281545 |
size | 96,122 |
Ordinal
types and collectionsThe library provides Ordinal
trait to map types to usize
values,
proc-macro to derive Ordinal
trait for structs and enums,
and map
and set
implementations
that use these types as keys efficiently.
use ordinal_map::map::total::OrdinalTotalMap;
#[derive(ordinal_map::Ordinal)]
enum ErrorCategory {
Network,
Disk,
Logic,
}
fn classify_error(error: &str) -> ErrorCategory {
// ...
}
let mut error_counts: OrdinalTotalMap<ErrorCategory, u64> = OrdinalTotalMap::default();
for error in &errors {
let category = classify_error(error);
error_counts[category] += 1;
}