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

pub struct Chain { /* fields omitted */ }
Expand description

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.

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl !Send for Chain

impl !Sync for Chain

impl Unpin for Chain

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.