11 stable releases
Uses old Rust 2015
1.0.11 | May 10, 2018 |
---|---|
1.0.10 | May 9, 2018 |
1.0.7 | Sep 11, 2017 |
1.0.2 | Aug 25, 2017 |
#311 in Memory management
Used in 2 crates
12KB
234 lines
index-pool
A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.
[dependencies]
index-pool = "1.0"
Example
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"]);
}
Dependencies
~10KB