Struct allocators::composable::Fallback [] [src]

pub struct Fallback<M: BlockOwner, F: BlockOwner> {
    // some fields omitted
}

This allocator has a main and a fallback allocator. It will always attempt to allocate first with the main allocator, and second with the fallback.

Methods

impl<M: BlockOwner, F: BlockOwner> Fallback<M, F>

fn new(main: M, fallback: F) -> Self

Create a new Fallback

Trait Implementations

impl<M: BlockOwner, F: BlockOwner> Allocator for Fallback<M, F>

unsafe fn allocate_raw(&self, size: usize, align: usize) -> Result<Block, Error>

unsafe fn reallocate_raw<'a>(&'a self, block: Block<'a>, new_size: usize) -> Result<Block<'a>, (Error, Block<'a>)>

unsafe fn deallocate_raw(&self, block: Block)

fn allocate<T>(&self, val: T) -> Result<AllocBox<T, Self>, (Error, T)> where Self: Sized

fn make_place<T>(&self) -> Result<Place<T, Self>, Error> where Self: Sized

impl<M: BlockOwner, F: BlockOwner> BlockOwner for Fallback<M, F>

fn owns_block(&self, block: &Block) -> bool

fn owns<'a, T, A: Allocator>(&self, val: &AllocBox<'a, T, A>) -> bool

fn with_fallback<O: BlockOwner>(self, other: O) -> Fallback<Self, O> where Self: Sized