[][src]Crate boxing_arena

The boxing-arena crate provides a very simply reuse of Box allocation by keeping a vector of reusable Box allocations that can be used when wanting to wrap a value in Box.

It would be sometimes easier to introduce boxing-arena in code bases where Box is already used extensively than to use some other arena crate that affects type and life-time semantics more drastically.

Basic usage demonstration:

use boxing_arena::BoxingArena;

// Prepare a long-lived arena:
let mut ba = BoxingArena::new();

// ... per allocation ... :
let big_value = [0u8; 0x1000];

// Instead of using `Box::new` directly, we do:
let boxed_big_value = ba.rebox(big_value);

// NOTE: Type of boxed_big_value is Box<[0u8; 0x1000]>

// Instead of letting Rust drop and deallocate the Box, we do:
ba.unbox(boxed_big_value);

Structs

BoxingArena

The BoxingArena struct.