Struct alloc::alloc::Global [−][src]
pub struct Global;
🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Trait Implementations
impl Copy for Global[src]
impl Copy for Globalimpl Clone for Global[src]
impl Clone for Globalfn clone(&self) -> Global[src]
fn clone(&self) -> GlobalReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Default for Global[src]
impl Default for Globalimpl Debug for Global[src]
impl Debug for Globalfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl GlobalAlloc for Global[src]
impl GlobalAlloc for Globalunsafe fn alloc(&self, layout: Layout) -> *mut Opaque[src]
unsafe fn alloc(&self, layout: Layout) -> *mut Opaque🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Allocate memory as described by the given layout. Read more
unsafe fn dealloc(&self, ptr: *mut Opaque, layout: Layout)[src]
unsafe fn dealloc(&self, ptr: *mut Opaque, layout: Layout)🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Deallocate the block of memory at the given ptr pointer with the given layout. Read more
unsafe fn realloc(
&self,
ptr: *mut Opaque,
layout: Layout,
new_size: usize
) -> *mut Opaque[src]
unsafe fn realloc(
&self,
ptr: *mut Opaque,
layout: Layout,
new_size: usize
) -> *mut Opaque🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Shink or grow a block of memory to the given new_size. The block is described by the given ptr pointer and layout. Read more
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut Opaque[src]
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut Opaque🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
impl Alloc for Global[src]
impl Alloc for Globalunsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Opaque>, AllocErr>[src]
unsafe fn alloc(&mut self, layout: Layout) -> Result<NonNull<Opaque>, AllocErr>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Returns a pointer meeting the size and alignment guarantees of layout. Read more
unsafe fn dealloc(&mut self, ptr: NonNull<Opaque>, layout: Layout)[src]
unsafe fn dealloc(&mut self, ptr: NonNull<Opaque>, layout: Layout)🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Deallocate the memory referenced by ptr. Read more
unsafe fn realloc(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<NonNull<Opaque>, AllocErr>[src]
unsafe fn realloc(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<NonNull<Opaque>, AllocErr>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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<Opaque>, AllocErr>[src]
unsafe fn alloc_zeroed(
&mut self,
layout: Layout
) -> Result<NonNull<Opaque>, AllocErr>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
fn usable_size(&self, layout: &Layout) -> (usize, usize)[src]
fn usable_size(&self, layout: &Layout) -> (usize, usize)🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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]
unsafe fn alloc_excess(&mut self, layout: Layout) -> Result<Excess, AllocErr>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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<Opaque>,
layout: Layout,
new_size: usize
) -> Result<Excess, AllocErr>[src]
unsafe fn realloc_excess(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<Excess, AllocErr>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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<Opaque>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>[src]
unsafe fn grow_in_place(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Attempts to extend the allocation referenced by ptr to fit new_size. Read more
unsafe fn shrink_in_place(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>[src]
unsafe fn shrink_in_place(
&mut self,
ptr: NonNull<Opaque>,
layout: Layout,
new_size: usize
) -> Result<(), CannotReallocInPlace>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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>)🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
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>🔬 This is a nightly-only experimental API. (allocator_api #32838)
the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector
Deallocates a block suitable for holding n instances of T. Read more