use index_db::BPlusTree;
fn main() {
let mut events: BPlusTree<u64, &str> = BPlusTree::new();
for (id, label) in [
(1003, "login"),
(1001, "boot"),
(1007, "flush"),
(1002, "connect"),
(1005, "write"),
(1004, "read"),
(1006, "commit"),
] {
let _previous = events.insert(id, label);
}
println!("window [1002, 1005):");
for (id, label) in events.range(1002..1005) {
println!(" {id}: {label}");
}
println!("from 1005, reversed:");
for (id, label) in events.range(1005..).rev() {
println!(" {id}: {label}");
}
let removed = events.remove(&1004);
println!("removed 1004 -> {removed:?}");
let remaining: Vec<_> = events.iter().map(|(&id, _)| id).collect();
println!("remaining ids in order: {remaining:?}");
}