19个不稳定版本 (3个重大更新)
使用旧的 Rust 2015
0.3.3 | 2015年6月12日 |
---|---|
0.3.0 | 2015年4月25日 |
0.0.12 | 2015年3月30日 |
0.0.5 | 2014年12月23日 |
0.0.4 | 2014年11月28日 |
#47 in #type-parameters
22,742 每月下载次数
用于 263 个crate (53 直接)
17KB
326 行
TypeMap
一个以类型为键,包含不同类型值的类型安全存储。
它提供了类似于 AnyMap 的功能,但更灵活,因为它允许键值对,而不是强制键和值具有相同的类型。
通过 Key
特性定义键值关联,它使用关联类型参数和特性一致性规则来强制执行 TypeMap
的不变性。
示例
#[deriving(Show, PartialEq)]
struct KeyType;
#[deriving(Show, PartialEq)]
struct Value(i32);
impl Key for KeyType { type Value = Value; }
#[test] fn test_pairing() {
let mut map = TypeMap::new();
map.insert::<KeyType>(Value(12));
assert_eq!(*map.find::<KeyType>().unwrap(), Value(12);
}
lib.rs
:
一个基于类型的键值存储,其中每个键允许一个值类型。
依赖项
~13KB