[][src]Struct std::alloc::Global

pub struct Global;
🔬 This is a nightly-only experimental API. (allocator_api #32838)

The global memory allocator.

This type implements the Alloc trait by forwarding calls to the allocator registered with the #[global_allocator] attribute if there is one, or the std crate’s default.

Note: while this type is unstable, the functionality it provides can be accessed through the free functions in alloc.

Trait Implementations

impl Debug for Global[src]

impl Copy for Global[src]

impl Clone for Global[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Default for Global[src]

impl Alloc for Global[src]

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

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

Returns bounds on the guaranteed usable size of a successful allocation created with the specified layout. Read more

unsafe fn alloc_excess(&mut self, layout: Layout) -> Result<Excess, AllocErr>[src]

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

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 #32838)

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 #32838)

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 #32838)

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 #32838)

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 #32838)

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 #32838)

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 #32838)

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 #32838)

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

Auto Trait Implementations

impl UnwindSafe for Global

impl RefUnwindSafe for Global

impl Unpin for Global

impl Send for Global

impl Sync for Global

Blanket Implementations

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> Into<U> for T where
    U: From<T>, 
[src]

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

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> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.