pub struct Heap { /* private fields */ }Expand description
The simplest possible heap.
§Safety
Because it’s the simplest implementation, it does NOT free memory. Any memory you drop cannot be reused (it’s leaked), so avoid dropping anything whenever possible.
It is recommended that you use embedded-alloc
Implementations§
Source§impl Heap
impl Heap
Sourcepub const fn empty() -> Heap
pub const fn empty() -> Heap
Create a new UNINITIALIZED heap allocator
You must initialize this heap using the
init method before using the allocator.
Sourcepub unsafe fn init(&self, start_addr: usize, size: usize)
pub unsafe fn init(&self, start_addr: usize, size: usize)
Initializes the heap
This function must be called BEFORE you run any code that makes use of the allocator.
start_addr is the address where the heap will be located.
size is the size of the heap in bytes.
§Safety
Obey these or Bad Stuff will happen.
- This function must be called exactly ONCE.
size > 0
Trait Implementations§
Source§impl GlobalAlloc for Heap
impl GlobalAlloc for Heap
Source§unsafe fn alloc(&self, layout: Layout) -> *mut u8
unsafe fn alloc(&self, layout: Layout) -> *mut u8
Allocates memory as described by the given
layout. Read moreAuto Trait Implementations§
impl !Freeze for Heap
impl !RefUnwindSafe for Heap
impl Send for Heap
impl Sync for Heap
impl Unpin for Heap
impl UnwindSafe for Heap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more