keyed_reorder/
keyed_reorder.rs

1// Example: measurements follow keys after reorder.
2use virtualizer::{Virtualizer, VirtualizerOptions};
3
4fn main() {
5    // Example: measurements follow keys after reorder.
6    let mut v = Virtualizer::new(VirtualizerOptions::new(2, |_| 1));
7    v.measure(0, 10);
8    println!(
9        "before reorder: size0={:?} size1={:?}",
10        v.item_size(0),
11        v.item_size(1)
12    );
13
14    // Simulate data reorder by changing the key mapping.
15    v.set_get_item_key(|i| if i == 0 { 1 } else { 0 });
16    // Note: in real apps you usually keep `get_item_key` stable and call `sync_item_keys()` when
17    // your underlying dataset is reordered while `count` stays the same.
18
19    println!(
20        "after reorder: size0={:?} size1={:?}",
21        v.item_size(0),
22        v.item_size(1)
23    );
24}