mi-malloc: Zero initialized re-allocation

| mi-malloc 1.7/2.0 |

Functions
Zero initialized re-allocation

The zero-initialized re-allocations are only valid on memory that was originally allocated with zero initialization too. More...

## Functions
void * | mi_rezalloc (void *p, size_t newsize)
void * | mi_rezalloc_aligned (void *p, size_t newsize, size_t alignment)
void * | mi_rezalloc_aligned_at (void *p, size_t newsize, size_t alignment, size_t offset)
void * | mi_recalloc_aligned (void *p, size_t newcount, size_t size, size_t alignment)
void * | mi_recalloc_aligned_at (void *p, size_t newcount, size_t size, size_t alignment, size_t offset)
void * | mi_heap_rezalloc (mi_heap_t *heap, void *p, size_t newsize)
void * | mi_heap_recalloc (mi_heap_t *heap, void *p, size_t newcount, size_t size)
void * | mi_heap_rezalloc_aligned (mi_heap_t *heap, void *p, size_t newsize, size_t alignment)
void * | mi_heap_rezalloc_aligned_at (mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset)
void * | mi_heap_recalloc_aligned (mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment)
void * | mi_heap_recalloc_aligned_at (mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment, size_t offset)

## Detailed Description

The zero-initialized re-allocations are only valid on memory that was originally allocated with zero initialization too.

e.g. `mi_calloc`, `mi_zalloc`, `mi_zalloc_aligned` etc. see https://github.com/microsoft/mimalloc/issues/63#issuecomment-508272992

## Function Documentation

## ◆ mi_heap_recalloc()

void* mi_heap_recalloc | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newcount,
|  | size_t | size
| ) |  |

## ◆ mi_heap_recalloc_aligned()

void* mi_heap_recalloc_aligned | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newcount,
|  | size_t | size,
|  | size_t | alignment
| ) |  |

## ◆ mi_heap_recalloc_aligned_at()

void* mi_heap_recalloc_aligned_at | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newcount,
|  | size_t | size,
|  | size_t | alignment,
|  | size_t | offset
| ) |  |

## ◆ mi_heap_rezalloc()

void* mi_heap_rezalloc | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newsize
| ) |  |

## ◆ mi_heap_rezalloc_aligned()

void* mi_heap_rezalloc_aligned | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newsize,
|  | size_t | alignment
| ) |  |

## ◆ mi_heap_rezalloc_aligned_at()

void* mi_heap_rezalloc_aligned_at | ( | mi_heap_t * | heap,
|  | void * | p,
|  | size_t | newsize,
|  | size_t | alignment,
|  | size_t | offset
| ) |  |

## ◆ mi_recalloc_aligned()

void* mi_recalloc_aligned | ( | void * | p,
|  | size_t | newcount,
|  | size_t | size,
|  | size_t | alignment
| ) |  |

## ◆ mi_recalloc_aligned_at()

void* mi_recalloc_aligned_at | ( | void * | p,
|  | size_t | newcount,
|  | size_t | size,
|  | size_t | alignment,
|  | size_t | offset
| ) |  |

## ◆ mi_rezalloc()

void* mi_rezalloc | ( | void * | p,
|  | size_t | newsize
| ) |  |

## ◆ mi_rezalloc_aligned()

void* mi_rezalloc_aligned | ( | void * | p,
|  | size_t | newsize,
|  | size_t | alignment
| ) |  |

## ◆ mi_rezalloc_aligned_at()

void* mi_rezalloc_aligned_at | ( | void * | p,
|  | size_t | newsize,
|  | size_t | alignment,
|  | size_t | offset
| ) |  |