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}