#index #pool #indices #data-structure

index-pool

一个管理唯一索引分配的池。类似于伪内存分配器。

11个稳定版本

使用旧的Rust 2015

1.0.11 2018年5月10日
1.0.10 2018年5月9日
1.0.7 2017年9月11日
1.0.2 2017年8月25日

#370内存管理

34 每月下载量
2 crates 中使用

MIT 许可证

12KB
234

index-pool index-pool on crates.io Build Status Build status

一个管理唯一索引分配的池。类似于伪内存分配器。

[dependencies]
index-pool = "1.0"

示例

extern crate index_pool;
use index_pool::IndexPool;

fn main() {
    let mut pool = IndexPool::new();

    let a = pool.new_id();
    let b = pool.new_id();
    let c = pool.new_id();

    let mut data = vec![""; pool.maximum()];
    data[a] = "apple";
    data[b] = "banana";
    data[c] = "coconut";

    // Nevermind, no bananas
    pool.return_id(b).unwrap();

    let p = pool.new_id();
    data[p] = "pineapple";

    assert_eq!(data, vec!["apple", "pineapple", "coconut"]);
}

依赖项

~10KB