Struct snmalloc_rs::SnMalloc
source · [−]pub struct SnMalloc;Trait Implementations
sourceimpl GlobalAlloc for SnMalloc
impl GlobalAlloc for SnMalloc
sourceunsafe fn alloc(&self, layout: Layout) -> *mut u8
unsafe fn alloc(&self, layout: Layout) -> *mut u8
Allocate the memory with the given alignment and size. On success, it returns a pointer pointing to the required memory address. On failure, it returns a null pointer. The client must assure the following things:
alignmentis greater than zero- Other constrains are the same as the rust standard library. The program may be forced to abort if the constrains are not full-filled.
sourceunsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)
unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)
De-allocate the memory at the given address with the given alignment and size. The client must assure the following things:
- the memory is acquired using the same allocator and the pointer points to the start position.
- Other constrains are the same as the rust standard library. The program may be forced to abort if the constrains are not full-filled.
sourceunsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8
unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8
Behaves like alloc, but also ensures that the contents are set to zero before being returned.
sourceunsafe fn realloc(
&self,
ptr: *mut u8,
layout: Layout,
new_size: usize
) -> *mut u8
unsafe fn realloc(
&self,
ptr: *mut u8,
layout: Layout,
new_size: usize
) -> *mut u8
Re-allocate the memory at the given address with the given alignment and size.
On success, it returns a pointer pointing to the required memory address.
The memory content within the new_size will remains the same as previous.
On failure, it returns a null pointer. In this situation, the previous memory is not returned to the allocator.
The client must assure the following things:
- the memory is acquired using the same allocator and the pointer points to the start position
alignmentfulfills all the requirements asrust_alloc- Other constrains are the same as the rust standard library. The program may be forced to abort if the constrains are not full-filled.
Auto Trait Implementations
impl RefUnwindSafe for SnMalloc
impl Send for SnMalloc
impl Sync for SnMalloc
impl Unpin for SnMalloc
impl UnwindSafe for SnMalloc
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more