6 个版本
0.1.6 | 2024年6月24日 |
---|---|
0.1.5 | 2024年6月24日 |
827 在 数据结构
98KB
3K SLoC
Ordinal
类型和集合
该库提供了 Ordinal
特性,用于将类型映射到 usize
值,进程宏用于为结构体和枚举推导 Ordinal
特性,以及使用这些类型作为键的高效的 map
和 set
实现方案。
示例
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;
}
lib.rs
:
该库提供 Ordinal
特性,用于将类型映射到 usize
值,进程宏用于为结构体和枚举推导 Ordinal
特性,以及提供使用这些类型作为键的高效的 map
和 set
实现方案。
示例
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;
}
依赖关系
~250–700KB
~17K SLoC