4 个版本

使用旧的 Rust 2015

0.2.3 2017年7月19日
0.2.2 2017年7月12日
0.2.1 2016年12月5日
0.2.0 2016年12月5日
0.1.0 2016年12月4日

#25 in #intern

Download history 21/week @ 2024-02-26 10/week @ 2024-03-04 11/week @ 2024-03-11 8/week @ 2024-03-18 31/week @ 2024-03-25 59/week @ 2024-04-01 21/week @ 2024-04-08 2/week @ 2024-04-15 37/week @ 2024-04-22 34/week @ 2024-04-29 21/week @ 2024-05-06 48/week @ 2024-05-13 23/week @ 2024-05-20 14/week @ 2024-05-27 16/week @ 2024-06-03 15/week @ 2024-06-10

73 个月下载量
2 个crate中使用 (通过 cov)

MIT 协议

32KB
459 代码行

shawshank

高效的通用池化结构。

Travis-CI Status Crates.io License

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