1个不稳定版本
0.1.0 | 2021年7月8日 |
---|
#1041 在 数据结构
13KB
197 行
Polystore
多态数据存储
// It's a HashMap<K = i32> storing polymorphic values:
let mut store = HashMap::new();
// k1 is the key 1 tagged with the element type `&'static str`
let k1 = store.insert(1, "A static str");
if let Some(v) = store.get_mut(&k1) {
*v = "another str";
}
assert_eq!(store.get_tagged(&k1), Some(&"another str"));
// untagged keys work too (relying on type inference, here `String`):
store.insert(2, "A String".to_string());
assert_eq!(store.get(&2), Some(&"A String".to_string()));
assert!(store.contains_key(&k1));
assert!(store.contains_key(&1));
assert!(!store.contains_key(&3));
仓库特性
可选特性
fxhash
:使用rustc-hash仓库添加FxHashMap
许可证
Polystore在MIT许可证和Apache许可证(版本2.0)的条款下分发。
请参阅LICENSE-APACHE、LICENSE-MIT和COPYRIGHT以获取详细信息。