Crate xalloc [] [src]

Dynamic suballocators for external memory (e.g., Vulkan device memory).

Examples

let mut tlsf = xalloc::SysTlsf::new(8u32);

// Allocate regions
let (region1, offset1) = tlsf.alloc(4).unwrap();
let (region2, offset2) = tlsf.alloc(4).unwrap();
println!("allocated #1: {:?}", (&region1, offset1));
println!("allocated #2: {:?}", (&region2, offset2));

// Deallocate a region
tlsf.dealloc(region1).unwrap();

// Now we can allocate again
tlsf.alloc(2).unwrap();
tlsf.alloc(2).unwrap();

Feature Flags

  • nightly — Enables optimizations which currently require a Nightly Rust compiler.

Reexports

pub extern crate num_traits;
pub extern crate num_integer;
pub use self::tlsf::Tlsf;
pub use self::tlsf::SafeTlsf;
pub use self::tlsf::SysTlsf;
pub use self::tlsf::TlsfBlock;

Modules

arena

Memory arena traits (used by Tlsf).

int

Traits for integral types.

tlsf

A dynamic external memory suballocator based on the TLSF (Two-Level Segregated Fit) algorithm1.