1个不稳定版本
0.1.0 | 2022年5月25日 |
---|
#2260在 数据结构
12KB
123 行
id_cache
文档: docs.rs/id_cache
这是一个建立在 id_collections
之上的小crate,它提供了一个简单的“缓存”数据结构,用于为某些可哈希类型的唯一值生成顺序分配的ID。
示例
use id_collections::id_type;
use id_cache::IdCache;
#[id_type]
struct WordId(u32);
let mut word_cache: IdCache<WordId, &str> = IdCache::new();
let foo_id = word_cache.make_id("foo");
let bar_id = word_cache.make_id("bar");
assert_eq!(word_cache[foo_id], "foo");
assert_eq!(word_cache[bar_id], "bar");
// ids for repeated values are reused:
assert_eq!(word_cache.make_id("foo"), foo_id);
可选特性
此crate具有可选的 Serde 支持,可以通过启用 serde
Cargo特性来启用。
依赖关系
~4MB
~81K SLoC