Struct static_alloc::unsync::Chain[][src]

pub struct Chain { /* fields omitted */ }

A Chain is a simple bump allocator, that draws it's memory from another allocator. Chain allocators can be chained together using Chain::chain.

Implementations

impl Chain[src]

pub fn new(size: usize) -> Result<Self, TryNewError>[src]

Creates a new Chain that has a capacity of size bytes.

pub fn bump_box<'bump, T: 'bump>(
    &'bump self
) -> Result<LeakBox<'bump, MaybeUninit<T>>, Failure>
[src]

Attempts to allocate elem within the allocator.

pub fn chain(&self, new: Chain)[src]

Chains self together with new.

Following allocations will first be allocated from new.

Note that this will drop all but the first link from new.

pub fn capacity(&self) -> usize[src]

Returns the capacity of this Chain. This is how many bytes in total can be allocated within this Chain.

pub fn remaining_capacity(&self) -> usize[src]

Returns the remaining capacity of this Chain. This is how many more bytes can be allocated within this Chain.

Trait Implementations

impl Drop for Chain[src]

Chain drops iteratively, so that we do not stack overflow.

Auto Trait Implementations

impl !Send for Chain[src]

impl !Sync for Chain[src]

impl Unpin for Chain[src]

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<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.