1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年6月23日 |
---|
#20 在 #hash-key
23 每月下载量
4KB
74 行
HashByRef
这是一个小的辅助 crate,用于将 Rc<T>
作为哈希键使用,其中等价性是通过底层引用标识(即指针值)来确定的。它提供了一个类型 HashByRef<T>
,该类型可以用作 hashmap 的键。
快速开始
hash_by_ref = "0.1.0"
use std::collections::HashMap;
use std::rc::Rc;
use hash_by_ref::HashByRef;
let r1 = Rc::new(1);
let r2 = Rc::new(1);
let r3 = r1.clone();
let mut h = HashMap::new();
h.insert(HashByRef::new(r1.clone()),1);
h.insert(HashByRef::new(r2.clone()),2);
assert_eq!(h[&HashByRef::new(r1.clone())], 1);
assert_eq!(h[&HashByRef::new(r2.clone())], 2);
assert_eq!(h[&HashByRef::new(r3.clone())], 1);