[−][src]Struct wee_alloc::WeeAlloc
A wee allocator.
Safety
When used in unix environments, cannot move in memory. Typically not an
issue if you're just using this as a static global allocator.
Methods
impl<'a> WeeAlloc<'a>[src]
impl<'a> WeeAlloc<'a>pub const INIT: Self[src]
An initial const default construction of a WeeAlloc allocator.
This is usable for initializing statics that get set as the global
allocator.
Trait Implementations
impl<'a> Sync for WeeAlloc<'a>[src]
impl<'a> Sync for WeeAlloc<'a>impl GlobalAlloc for WeeAlloc<'static>[src]
impl GlobalAlloc for WeeAlloc<'static>unsafe fn alloc(&self, layout: Layout) -> *mut u8[src]
unsafe fn alloc(&self, layout: Layout) -> *mut u8Allocate memory as described by the given layout. Read more
unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)[src]
unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)Deallocate the block of memory at the given ptr pointer with the given layout. Read more
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u81.28.0[src]
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
unsafe fn realloc(
&self,
ptr: *mut u8,
layout: Layout,
new_size: usize
) -> *mut u81.28.0[src]
unsafe fn realloc(
&self,
ptr: *mut u8,
layout: Layout,
new_size: usize
) -> *mut u8Shink or grow a block of memory to the given new_size. The block is described by the given ptr pointer and layout. Read more
impl<'a, 'b> Alloc for &'b WeeAlloc<'a> where
'a: 'b, [src]
impl<'a, 'b> Alloc for &'b WeeAlloc<'a> where
'a: 'b, unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<u8>, AllocErr>[src]
unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<u8>, AllocErr>allocator_api)Returns a pointer meeting the size and alignment guarantees of layout. Read more
unsafe fn dealloc(&mut self, ptr: NonNull<u8>, layout: Layout)[src]
unsafe fn dealloc(&mut self, ptr: NonNull<u8>, layout: Layout)allocator_api)Deallocate the memory referenced by ptr. Read more
fn usable_size(&self, layout: &Layout) -> (usize, usize)[src]
fn usable_size(&self, layout: &Layout) -> (usize, usize)allocator_api)Returns bounds on the guaranteed usable size of a successful allocation created with the specified layout. Read more
unsafe fn realloc(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<NonNull<u8>, AllocErr>[src]
unsafe fn realloc(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<NonNull<u8>, AllocErr>allocator_api)Returns a pointer suitable for holding data described by a new layout with layout’s alginment and a size given by new_size. To accomplish this, this may extend or shrink the allocation referenced by ptr to fit the new layout. Read more
unsafe fn alloc_zeroed(
&mut self,
layout: Layout
) -> Result<NonNull<u8>, AllocErr>[src]
unsafe fn alloc_zeroed(
&mut self,
layout: Layout
) -> Result<NonNull<u8>, AllocErr>allocator_api)Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
unsafe fn alloc_excess(&mut self, layout: Layout) -> Result<Excess, AllocErr>[src]
unsafe fn alloc_excess(&mut self, layout: Layout) -> Result<Excess, AllocErr>allocator_api)Behaves like alloc, but also returns the whole size of the returned block. For some layout inputs, like arrays, this may include extra storage usable for additional data. Read more
unsafe fn realloc_excess(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<Excess, AllocErr>[src]
unsafe fn realloc_excess(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<Excess, AllocErr>allocator_api)Behaves like realloc, but also returns the whole size of the returned block. For some layout inputs, like arrays, this may include extra storage usable for additional data. Read more
unsafe fn grow_in_place(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>[src]
unsafe fn grow_in_place(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>allocator_api)Attempts to extend the allocation referenced by ptr to fit new_size. Read more
unsafe fn shrink_in_place(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>[src]
unsafe fn shrink_in_place(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>allocator_api)Attempts to shrink the allocation referenced by ptr to fit new_size. Read more
fn alloc_one<T>(&mut self) -> Result<NonNull<T>, AllocErr>[src]
fn alloc_one<T>(&mut self) -> Result<NonNull<T>, AllocErr>allocator_api)Allocates a block suitable for holding an instance of T. Read more
unsafe fn dealloc_one<T>(&mut self, ptr: NonNull<T>)[src]
unsafe fn dealloc_one<T>(&mut self, ptr: NonNull<T>)allocator_api)Deallocates a block suitable for holding an instance of T. Read more
fn alloc_array<T>(&mut self, n: usize) -> Result<NonNull<T>, AllocErr>[src]
fn alloc_array<T>(&mut self, n: usize) -> Result<NonNull<T>, AllocErr>allocator_api)Allocates a block suitable for holding n instances of T. Read more
unsafe fn realloc_array<T>(
&mut self,
ptr: NonNull<T>,
n_old: usize,
n_new: usize
) -> Result<NonNull<T>, AllocErr>[src]
unsafe fn realloc_array<T>(
&mut self,
ptr: NonNull<T>,
n_old: usize,
n_new: usize
) -> Result<NonNull<T>, AllocErr>allocator_api)Reallocates a block previously suitable for holding n_old instances of T, returning a block suitable for holding n_new instances of T. Read more
unsafe fn dealloc_array<T>(
&mut self,
ptr: NonNull<T>,
n: usize
) -> Result<(), AllocErr>[src]
unsafe fn dealloc_array<T>(
&mut self,
ptr: NonNull<T>,
n: usize
) -> Result<(), AllocErr>allocator_api)Deallocates a block suitable for holding n instances of T. Read more
Auto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>try_from)Performs the conversion.
impl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more