[][src]Struct tralloc::Allocator

pub struct Allocator {}

Methods

impl Allocator[src]

Trait Implementations

impl GlobalAlloc for Allocator[src]

unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u81.28.0[src]

Behaves 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 u8
1.28.0[src]

Shrink 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> Alloc for &'a Allocator[src]

fn usable_size(&self, layout: &Layout) -> (usize, usize)[src]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (allocator_api)

Returns a pointer suitable for holding data described by a new layout with layout’s alignment 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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (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]

🔬 This is a nightly-only experimental API. (allocator_api)

Deallocates a block suitable for holding n instances of T. Read more

Auto Trait Implementations

Blanket Implementations

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.

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]