Crate index_pool [] [src]

A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.

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"]);
}

Modules

iter

Structs

AlreadyReturned
IndexPool

A pool which manages allocation of unique indices. Acts like a psuedo-memory allocator.