rcore-os / bitmap-allocator

Free space bitmap allocator

Home Page:https://rcore-os.github.io/bitmap-allocator/

Repository from Github https://github.comrcore-os/bitmap-allocatorRepository from Github https://github.comrcore-os/bitmap-allocator

BitmapAllocator

Crates.io Docs.rs CI

Bit allocator based on segment tree algorithm.

Example

use bitmap_allocator::{BitAlloc, BitAlloc1M};

let mut ba = BitAlloc1M::default();
ba.insert(0..16);
for i in 0..16 {
    assert!(ba.test(i));
}
ba.remove(2..8);
assert_eq!(ba.alloc(), Some(0));
assert_eq!(ba.alloc(), Some(1));
assert_eq!(ba.alloc(), Some(8));
ba.dealloc(0);
ba.dealloc(1);
ba.dealloc(8);

About

Free space bitmap allocator

https://rcore-os.github.io/bitmap-allocator/

License:MIT License


Languages

Language:Rust 100.0%