On this page
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 Allocator
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 Allocator for Global
fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Attempts to allocate a block of memory. Read more
fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Behaves like
allocate
, but also ensures that the returned memory is zero-initialized. Read more
unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Deallocates the memory referenced by
ptr
. Read more
unsafe fn grow(
&self,
ptr: NonNull<u8>,
old_layout: Layout,
new_layout: Layout
) -> Result<NonNull<[u8]>, AllocError>
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Attempts to extend the memory block. Read more
unsafe fn grow_zeroed(
&self,
ptr: NonNull<u8>,
old_layout: Layout,
new_layout: Layout
) -> Result<NonNull<[u8]>, AllocError>
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Behaves like
grow
, but also ensures that the new contents are set to zero before being returned. Read more
unsafe fn shrink(
&self,
ptr: NonNull<u8>,
old_layout: Layout,
new_layout: Layout
) -> Result<NonNull<[u8]>, AllocError>
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Attempts to shrink the memory block. Read more
fn by_ref(&self) -> &Self
where
Self: Sized,
🔬This is a nightly-only experimental API. (
allocator_api
#32838)
Creates a “by reference” adapter for this instance of
Allocator
. Read more
impl Clone for Global
fn clone(&self) -> Global
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more
impl Debug for Global
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Default for Global
impl Copy for Global
Auto Trait Implementations
impl RefUnwindSafe for Global
impl Send for Global
impl Sync for Global
impl Unpin for Global
impl UnwindSafe for Global
Blanket Implementations
impl<T> Any for T
where
T: 'static + ?Sized,
impl<T> Borrow<T> for T
where
T: ?Sized,
impl<T> BorrowMut<T> for T
where
T: ?Sized,
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for T
where
U: From<T>,
fn into(self) -> U
Calls U::from(self)
.
That is, this conversion is whatever the implementation of From<T> for U
chooses to do.
impl<T> ToOwned for T
where
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/alloc/struct.Global.html