Expand description
Minimal Roaring Bitmap for cell-level dirty region tracking.
Roaring bitmaps efficiently represent sets of integers by adaptively switching between two container types based on density:
- Array container: Sorted
Vec<u16>for sparse regions (< 4096 entries). - Bitmap container:
[u64; 1024](8 KB) for dense regions (>= 4096 entries).
Indices are split into (high16, low16): the high 16 bits select the
container, the low 16 bits select the position within it.
§Usage
use ftui_render::roaring_bitmap::RoaringBitmap;
let mut bm = RoaringBitmap::new();
bm.insert(42);
bm.insert(1000);
bm.insert(42); // duplicate is a no-op
assert!(bm.contains(42));
assert_eq!(bm.cardinality(), 2);
let items: Vec<u32> = bm.iter().collect();
assert_eq!(items, vec![42, 1000]);Structs§
- Roaring
Bitmap - A Roaring Bitmap for efficiently tracking sets of
u32indices. - Roaring
Iter - Iterator over all values in a
RoaringBitmapin sorted order.