4 个版本
使用旧的 Rust 2015
0.2.3 | 2017年7月19日 |
---|---|
0.2.2 | 2017年7月12日 |
0.2.1 | 2016年12月5日 |
0.2.0 |
|
0.1.0 | 2016年12月4日 |
#25 in #intern
73 个月下载量
在 2 个crate中使用 (通过 cov)
32KB
459 代码行
shawshank
高效的通用池化结构。
extern crate shawshank;
fn main() {
// prototypical motivation: string internment
let mut sp = shawshank::string_arena_set();
assert_eq!(sp.intern("hello"), Ok(0));
assert_eq!(sp.intern("world"), Ok(1));
assert_eq!(sp.intern("hello"), Ok(0));
assert_eq!(sp.resolve(1), Ok("world"));
// byte vectors work, too
let mut bp = shawshank::byte_arena_set();
assert_eq!(bp.intern(&[0, 1, 2][..]), Ok(0));
// even Box<T>
let mut p = shawshank::builder::<Box<u8>>().hash().unwrap();
assert_eq!(p.intern(255), Ok(0));
// BTreeMap instead of default HashMap
let mut bsp = shawshank::builder::<String>().btree().unwrap();
assert_eq!(bsp.intern("foo"), Ok(0));
}
更多信息,请参阅 文档.
依赖项
~250KB