#cache #id #index #intern #generate

id_cache

一种缓存数据结构,用于为唯一值生成顺序分配的ID

1个不稳定版本

0.1.0 2022年5月25日

#2260数据结构

MIT许可证

12KB
123

id_cache

下载: crates.io/crates/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