[−][src]Macro malloc_array::heap
vec![]-like macro for creating HeapArray<T> instances.
Provides methods for creating safely accessable arrays using malloc() with a Vec<T> like interface.
Also provides methods of optimising deallocations.
Usage
Works like array definitions [type; size], and like the vec![] macro [value; size]. Prepend the statement with unsafe ([unsafe type|value; size]) to prevent potentially redundant drop() calls.
Examples
use malloc_array::{heap, HeapArray}; let ints = heap![unsafe 4u32; 32]; // Creates a 32 element `u32` array with each element set to `4`. let ints = heap![unsafe u32; 32]; // Creates an uninitialised 32 element `u32` array. let ints = heap![u32; 32]; // Same as above, except when `ints` is dropped, each element will be also dropped redundantly. let strings = heap!["string one".to_owned(), "string two".to_owned()]; //Creates a 2 element string array. let strings = heap![unsafe "memory".to_owned(), "leak".to_owned()]; //Same as above, except `drop()` will not be called on the 2 strings, potentially causing a memory leak. let strings: HeapArray<u8> = heap![]; //Creates an empty `u8` array.