[][src]Struct light_arena::MemoryArena

pub struct MemoryArena { /* fields omitted */ }

Provides the backing storage to serve allocations requested by an Allocator.

The MemoryArena allocates blocks of fixed size on demand as its existing blocks get filled by allocation requests. To make allocations in the arena use the Allocator returned by allocator. Only one Allocator can be active for an arena at a time, after the allocator is dropped the space used by its allocations is made available again.

Methods

impl MemoryArena[src]

pub fn new(block_size_mb: usize) -> MemoryArena[src]

Create a new MemoryArena with the requested block size (in MB). The arena will allocate one initial block on creation, and further blocks of block_size_mb size, or larger if needed to meet a large allocation, on demand as allocations are made.

pub fn allocator(&mut self) -> Allocator[src]

Get an allocator for the arena. Only a single Allocator can be active for an arena at a time. Upon destruction of the Allocator its allocated data is marked available again.

Auto Trait Implementations

impl Send for MemoryArena

impl Sync for MemoryArena

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]