Typed allocation macros. More...
Macros | |
| #define | mi_malloc_tp(tp) |
| Allocate a block of type tp. | |
| #define | mi_free_tp(tp, p) |
| Free an object of type tp. | |
| #define | mi_zalloc_tp(tp) |
| Allocate a zero-initialized block of type tp. | |
| #define | mi_calloc_tp(tp, count) |
| Allocate count zero-initialized blocks of type tp. | |
| #define | mi_mallocn_tp(tp, count) |
| Allocate count blocks of type tp. | |
| #define | mi_reallocn_tp(p, tp, count) |
| Re-allocate to count blocks of type tp. | |
| #define | mi_heap_malloc_tp(tp, hp) |
| Allocate a block of type tp in a heap hp. | |
| #define | mi_heap_zalloc_tp(tp, hp) |
| Allocate a zero-initialized block of type tp in a heap hp. | |
| #define | mi_heap_calloc_tp(tp, hp, count) |
| Allocate count zero-initialized blocks of type tp in a heap hp. | |
| #define | mi_heap_mallocn_tp(tp, hp, count) |
| Allocate count blocks of type tp in a heap hp. | |
| #define | mi_heap_reallocn_tp(tp, hp, p, count) |
| Re-allocate to count blocks of type tp in a heap hp. | |
| #define | mi_heap_recalloc_tp(tp, hp, p, count) |
| Re-allocate to count zero initialized blocks of type tp in a heap hp. | |
Typed allocation macros.
For example:
On v3 these can improve performance as they use the mi_<malloc>_csize api's that in turn can use mi_malloc_small(), mi_free_small(), etc.
| #define mi_calloc_tp | ( | tp, | |
| count ) |
Allocate count zero-initialized blocks of type tp.
| #define mi_free_tp | ( | tp, | |
| p ) |
Free an object of type tp.
| tp | The type of the object that is freed. |
| p | A pointer to an object of type tp (or NULL ) Can be more efficient as it internally uses mi_free_csize() |
| #define mi_heap_calloc_tp | ( | tp, | |
| hp, | |||
| count ) |
Allocate count zero-initialized blocks of type tp in a heap hp.
| #define mi_heap_malloc_tp | ( | tp, | |
| hp ) |
Allocate a block of type tp in a heap hp.
| #define mi_heap_mallocn_tp | ( | tp, | |
| hp, | |||
| count ) |
Allocate count blocks of type tp in a heap hp.
| #define mi_heap_reallocn_tp | ( | tp, | |
| hp, | |||
| p, | |||
| count ) |
Re-allocate to count blocks of type tp in a heap hp.
| #define mi_heap_recalloc_tp | ( | tp, | |
| hp, | |||
| p, | |||
| count ) |
Re-allocate to count zero initialized blocks of type tp in a heap hp.
| #define mi_heap_zalloc_tp | ( | tp, | |
| hp ) |
Allocate a zero-initialized block of type tp in a heap hp.
| #define mi_malloc_tp | ( | tp | ) |
Allocate a block of type tp.
| tp | The type of the block to allocate. |
Example:
Using this is more safe, but can also be more efficient since the allocation size is a compile-time constant.
| #define mi_mallocn_tp | ( | tp, | |
| count ) |
Allocate count blocks of type tp.
| #define mi_reallocn_tp | ( | p, | |
| tp, | |||
| count ) |
Re-allocate to count blocks of type tp.
| #define mi_zalloc_tp | ( | tp | ) |
Allocate a zero-initialized block of type tp.