use framealloc::SmartAlloc;
fn main() {
let alloc = SmartAlloc::new(Default::default());
println!("Hello, framealloc!");
alloc.begin_frame();
let message = alloc.frame_box("Hello from frame allocation!");
let numbers = alloc.frame_vec::<i32>();
for i in 0..10 {
numbers.push(i * 2);
}
println!("Message: {}", message);
println!("Numbers: {:?}", numbers.as_slice());
alloc.end_frame();
println!("Frame ended - all memory freed!");
println!("\nRunning 5 frames:");
for frame in 0..5 {
alloc.begin_frame();
let frame_data = alloc.frame_vec::<String>();
for i in 0..=frame {
frame_data.push(format!("Item {} from frame {}", i, frame));
}
println!("Frame {}: {} items", frame, frame_data.len());
alloc.end_frame();
}
println!("\nAll frames completed successfully!");
}