Struct snmalloc_rs::SnMalloc [−][src]
pub struct SnMalloc;
Trait Implementations
impl GlobalAlloc for SnMalloc
[src]
impl GlobalAlloc for SnMalloc
[src]unsafe fn alloc(&self, layout: Layout) -> *mut u8
[src]
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:
alignment
is 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.
unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)
[src]
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.
unsafe fn realloc(
&self,
ptr: *mut u8,
layout: Layout,
new_size: usize
) -> *mut u8
[src]
&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
alignment
fulfills 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.