2019-07-08 17:15:34 -07:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2019-06-22 10:30:09 -07:00
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
2021-12-18 16:36:37 -08:00
< meta name = "generator" content = "Doxygen 1.9.1" / >
2019-06-22 10:30:09 -07:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > mi-malloc: Heap Allocation< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtreedata.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "mimalloc-doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectlogo" > < img alt = "Logo" src = "mimalloc-logo.svg" / > < / td >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > mi-malloc
2021-12-18 16:36:37 -08:00
  < span id = "projectnumber" > 1.7/2.0< / span >
2019-06-22 10:30:09 -07:00
< / div >
< / td >
< td > < div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
2021-12-18 16:36:37 -08:00
< img id = "MSearchSelect" src = "search/mag_sel.svg"
2019-06-22 10:30:09 -07:00
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
2021-12-18 16:36:37 -08:00
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.svg" alt = "" / > < / a >
2019-06-22 10:30:09 -07:00
< / span >
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2021-12-18 16:36:37 -08:00
<!-- Generated by Doxygen 1.9.1 -->
2019-06-22 10:30:09 -07:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2021-12-18 16:36:37 -08:00
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
2019-06-22 10:30:09 -07:00
/* @license-end */
< / script >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2021-12-18 16:36:37 -08:00
$(document).ready(function(){initNavTree('group__heap.html',''); initResizable(); });
2019-06-22 10:30:09 -07:00
/* @license-end */
< / script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div class = "header" >
< div class = "summary" >
< a href = "#typedef-members" > Typedefs< / a > |
< a href = "#func-members" > Functions< / a > < / div >
< div class = "headertitle" >
< div class = "title" > Heap Allocation< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< p > First-class heaps that can be destroyed in one go.
< a href = "#details" > More...< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:ga34a47cde5a5b38c29f1aa3c5e76943c2" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct mi_heap_s  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > < / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga34a47cde5a5b38c29f1aa3c5e76943c2" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type of first-class heaps. < a href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga34a47cde5a5b38c29f1aa3c5e76943c2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
< tr class = "memitem:ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > mi_heap_new< / a > ()< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Create a new heap that can be used for allocation. < a href = "group__heap.html#ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga2ab1af8d438819b55319c7ef51d1e409" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga2ab1af8d438819b55319c7ef51d1e409" > mi_heap_delete< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga2ab1af8d438819b55319c7ef51d1e409" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Delete a previously allocated heap. < a href = "group__heap.html#ga2ab1af8d438819b55319c7ef51d1e409" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga2ab1af8d438819b55319c7ef51d1e409" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga9f9c0844edb9717f4feacd79116b8e0d" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga9f9c0844edb9717f4feacd79116b8e0d" > mi_heap_destroy< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga9f9c0844edb9717f4feacd79116b8e0d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Destroy a heap, freeing all its still allocated blocks. < a href = "group__heap.html#ga9f9c0844edb9717f4feacd79116b8e0d" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga9f9c0844edb9717f4feacd79116b8e0d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gab8631ec88c8d26641b68b5d25dcd4422" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gab8631ec88c8d26641b68b5d25dcd4422" > mi_heap_set_default< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:gab8631ec88c8d26641b68b5d25dcd4422" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Set the default heap to use for < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > et al. < a href = "group__heap.html#gab8631ec88c8d26641b68b5d25dcd4422" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:gab8631ec88c8d26641b68b5d25dcd4422" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga8db4cbb87314a989a9a187464d6b5e05" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga8db4cbb87314a989a9a187464d6b5e05" > mi_heap_get_default< / a > ()< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga8db4cbb87314a989a9a187464d6b5e05" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Get the default heap that is used for < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > et al. < a href = "group__heap.html#ga8db4cbb87314a989a9a187464d6b5e05" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga8db4cbb87314a989a9a187464d6b5e05" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga5d03fbe062ffcf38f0f417fd968357fc" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga5d03fbe062ffcf38f0f417fd968357fc" > mi_heap_get_backing< / a > ()< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga5d03fbe062ffcf38f0f417fd968357fc" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Get the backing heap. < a href = "group__heap.html#ga5d03fbe062ffcf38f0f417fd968357fc" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga5d03fbe062ffcf38f0f417fd968357fc" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-09-11 20:48:41 -07:00
< tr class = "memitem:ga7922f7495cde30b1984d0e6072419298" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga7922f7495cde30b1984d0e6072419298" > mi_heap_collect< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, bool force)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga7922f7495cde30b1984d0e6072419298" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Release outstanding resources in a specific heap. < a href = "group__heap.html#ga7922f7495cde30b1984d0e6072419298" > More...< / a > < br / > < / td > < / tr >
2019-09-11 20:48:41 -07:00
< tr class = "separator:ga7922f7495cde30b1984d0e6072419298" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "memitem:ga9cbed01e42c0647907295de92c3fa296" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga9cbed01e42c0647907295de92c3fa296" > mi_heap_malloc< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga9cbed01e42c0647907295de92c3fa296" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allocate in a specific heap. < a href = "group__heap.html#ga9cbed01e42c0647907295de92c3fa296" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga9cbed01e42c0647907295de92c3fa296" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-09-11 20:48:41 -07:00
< tr class = "memitem:gaa1a1c7a1f4da6826b5a25b70ef878368" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gaa1a1c7a1f4da6826b5a25b70ef878368" > mi_heap_malloc_small< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:gaa1a1c7a1f4da6826b5a25b70ef878368" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allocate a small object in a specific heap. < a href = "group__heap.html#gaa1a1c7a1f4da6826b5a25b70ef878368" > More...< / a > < br / > < / td > < / tr >
2019-09-11 20:48:41 -07:00
< tr class = "separator:gaa1a1c7a1f4da6826b5a25b70ef878368" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "memitem:ga903104592c8ed53417a3762da6241133" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga903104592c8ed53417a3762da6241133" > mi_heap_zalloc< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga903104592c8ed53417a3762da6241133" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allocate zero-initialized in a specific heap. < a href = "group__heap.html#ga903104592c8ed53417a3762da6241133" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga903104592c8ed53417a3762da6241133" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa6702b3c48e9e53e50e81b36f5011d55" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gaa6702b3c48e9e53e50e81b36f5011d55" > mi_heap_calloc< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t count, size_t size)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:gaa6702b3c48e9e53e50e81b36f5011d55" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allocate < em > count< / em > zero-initialized elements in a specific heap. < a href = "group__heap.html#gaa6702b3c48e9e53e50e81b36f5011d55" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:gaa6702b3c48e9e53e50e81b36f5011d55" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga851da6c43fe0b71c1376cee8aef90db0" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga851da6c43fe0b71c1376cee8aef90db0" > mi_heap_mallocn< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t count, size_t size)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga851da6c43fe0b71c1376cee8aef90db0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Allocate < em > count< / em > elements in a specific heap. < a href = "group__heap.html#ga851da6c43fe0b71c1376cee8aef90db0" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga851da6c43fe0b71c1376cee8aef90db0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > < td class = "memItemLeft" align = "right" valign = "top" > char *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > mi_heap_strdup< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, const char *s)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Duplicate a string in a specific heap. < a href = "group__heap.html#ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga8e3dbd46650dd26573cf307a2c8f1f5a" > < td class = "memItemLeft" align = "right" valign = "top" > char *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga8e3dbd46650dd26573cf307a2c8f1f5a" > mi_heap_strndup< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, const char *s, size_t n)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga8e3dbd46650dd26573cf307a2c8f1f5a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Duplicate a string of at most length < em > n< / em > in a specific heap. < a href = "group__heap.html#ga8e3dbd46650dd26573cf307a2c8f1f5a" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga8e3dbd46650dd26573cf307a2c8f1f5a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga00e95ba1e01acac3cfd95bb7a357a6f0" > < td class = "memItemLeft" align = "right" valign = "top" > char *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga00e95ba1e01acac3cfd95bb7a357a6f0" > mi_heap_realpath< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, const char *fname, char *resolved_name)< / td > < / tr >
2021-12-18 16:36:37 -08:00
< tr class = "memdesc:ga00e95ba1e01acac3cfd95bb7a357a6f0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Resolve a file path name using a specific < em > heap< / em > to allocate the result. < a href = "group__heap.html#ga00e95ba1e01acac3cfd95bb7a357a6f0" > More...< / a > < br / > < / td > < / tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga00e95ba1e01acac3cfd95bb7a357a6f0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-07-08 17:15:34 -07:00
< tr class = "memitem:gaaef3395f66be48f37bdc8322509c5d81" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gaaef3395f66be48f37bdc8322509c5d81" > mi_heap_realloc< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, void *p, size_t newsize)< / td > < / tr >
< tr class = "separator:gaaef3395f66be48f37bdc8322509c5d81" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gac74e94ad9b0c9b57c1c4d88b8825b7a8" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gac74e94ad9b0c9b57c1c4d88b8825b7a8" > mi_heap_reallocn< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, void *p, size_t count, size_t size)< / td > < / tr >
< tr class = "separator:gac74e94ad9b0c9b57c1c4d88b8825b7a8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga4a21070eb4e7cce018133c8d5f4b0527" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga4a21070eb4e7cce018133c8d5f4b0527" > mi_heap_reallocf< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, void *p, size_t newsize)< / td > < / tr >
< tr class = "separator:ga4a21070eb4e7cce018133c8d5f4b0527" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gab5b87e1805306f70df38789fcfcf6653" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gab5b87e1805306f70df38789fcfcf6653" > mi_heap_malloc_aligned< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size, size_t alignment)< / td > < / tr >
< tr class = "separator:gab5b87e1805306f70df38789fcfcf6653" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga23acd7680fb0976dde3783254c6c874b" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga23acd7680fb0976dde3783254c6c874b" > mi_heap_malloc_aligned_at< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size, size_t alignment, size_t offset)< / td > < / tr >
< tr class = "separator:ga23acd7680fb0976dde3783254c6c874b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa450a59c6c7ae5fdbd1c2b80a8329ef0" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gaa450a59c6c7ae5fdbd1c2b80a8329ef0" > mi_heap_zalloc_aligned< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size, size_t alignment)< / td > < / tr >
< tr class = "separator:gaa450a59c6c7ae5fdbd1c2b80a8329ef0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga45fb43a62776fbebbdf1edd99b527954" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga45fb43a62776fbebbdf1edd99b527954" > mi_heap_zalloc_aligned_at< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t size, size_t alignment, size_t offset)< / td > < / tr >
< tr class = "separator:ga45fb43a62776fbebbdf1edd99b527954" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga4af03a6e2b93fae77424d93f889705c3" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga4af03a6e2b93fae77424d93f889705c3" > mi_heap_calloc_aligned< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t count, size_t size, size_t alignment)< / td > < / tr >
< tr class = "separator:ga4af03a6e2b93fae77424d93f889705c3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga08ca6419a5c057a4d965868998eef487" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#ga08ca6419a5c057a4d965868998eef487" > mi_heap_calloc_aligned_at< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, size_t count, size_t size, size_t alignment, size_t offset)< / td > < / tr >
< tr class = "separator:ga08ca6419a5c057a4d965868998eef487" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gafc603b696bd14cae6da28658f950d98c" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gafc603b696bd14cae6da28658f950d98c" > mi_heap_realloc_aligned< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, void *p, size_t newsize, size_t alignment)< / td > < / tr >
< tr class = "separator:gafc603b696bd14cae6da28658f950d98c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaf96c788a1bf553fe2d371de9365e047c" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "group__heap.html#gaf96c788a1bf553fe2d371de9365e047c" > mi_heap_realloc_aligned_at< / a > (< a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *heap, void *p, size_t newsize, size_t alignment, size_t offset)< / td > < / tr >
< tr class = "separator:gaf96c788a1bf553fe2d371de9365e047c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-06-22 10:30:09 -07:00
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< p > First-class heaps that can be destroyed in one go. < / p >
< h2 class = "groupheader" > Typedef Documentation< / h2 >
< a id = "ga34a47cde5a5b38c29f1aa3c5e76943c2" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > ◆ < / a > < / span > mi_heap_t< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > typedef struct mi_heap_s < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Type of first-class heaps. < / p >
< p > A heap can only be used for (re)allocation in the thread that created this heap! Any allocated blocks can be freed by any other thread though. < / p >
< / div >
< / div >
< h2 class = "groupheader" > Function Documentation< / h2 >
< a id = "gaa6702b3c48e9e53e50e81b36f5011d55" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gaa6702b3c48e9e53e50e81b36f5011d55" > ◆ < / a > < / span > mi_heap_calloc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_calloc < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > count< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allocate < em > count< / em > zero-initialized elements in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#ga97fedb4f7107c592fd7f0f0a8949a57d" title = "Allocate zero-initialized count elements of size bytes." > mi_calloc()< / a > < / dd > < / dl >
< / div >
< / div >
< a id = "ga4af03a6e2b93fae77424d93f889705c3" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga4af03a6e2b93fae77424d93f889705c3" > ◆ < / a > < / span > mi_heap_calloc_aligned()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_calloc_aligned < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > count< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ga08ca6419a5c057a4d965868998eef487" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga08ca6419a5c057a4d965868998eef487" > ◆ < / a > < / span > mi_heap_calloc_aligned_at()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_calloc_aligned_at < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > count< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > offset< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-06-22 10:30:09 -07:00
2019-09-11 20:48:41 -07:00
< / div >
< / div >
< a id = "ga7922f7495cde30b1984d0e6072419298" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga7922f7495cde30b1984d0e6072419298" > ◆ < / a > < / span > mi_heap_collect()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_collect < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > bool  < / td >
< td class = "paramname" > < em > force< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Release outstanding resources in a specific heap. < / p >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga2ab1af8d438819b55319c7ef51d1e409" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga2ab1af8d438819b55319c7ef51d1e409" > ◆ < / a > < / span > mi_heap_delete()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_delete < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Delete a previously allocated heap. < / p >
< p > This will release resources and migrate any still allocated blocks in this heap (efficienty) to the default heap.< / p >
< p > If < em > heap< / em > is the default heap, the default heap is set to the backing heap. < / p >
< / div >
< / div >
< a id = "ga9f9c0844edb9717f4feacd79116b8e0d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga9f9c0844edb9717f4feacd79116b8e0d" > ◆ < / a > < / span > mi_heap_destroy()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_destroy < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Destroy a heap, freeing all its still allocated blocks. < / p >
< p > Use with care as this will free all blocks still allocated in the heap. However, this can be a very efficient way to free all heap memory in one go.< / p >
< p > If < em > heap< / em > is the default heap, the default heap is set to the backing heap. < / p >
< / div >
< / div >
< a id = "ga5d03fbe062ffcf38f0f417fd968357fc" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga5d03fbe062ffcf38f0f417fd968357fc" > ◆ < / a > < / span > mi_heap_get_backing()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > * mi_heap_get_backing < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the backing heap. < / p >
< p > The < em > backing< / em > heap is the initial default heap for a thread and always available for allocations. It cannot be destroyed or deleted except by exiting the thread. < / p >
< / div >
< / div >
< a id = "ga8db4cbb87314a989a9a187464d6b5e05" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga8db4cbb87314a989a9a187464d6b5e05" > ◆ < / a > < / span > mi_heap_get_default()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > * mi_heap_get_default < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-07-08 17:15:34 -07:00
< p > Get the default heap that is used for < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > et al. < / p >
2019-06-22 10:30:09 -07:00
< dl class = "section return" > < dt > Returns< / dt > < dd > The current default heap. < / dd > < / dl >
< / div >
< / div >
< a id = "ga9cbed01e42c0647907295de92c3fa296" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga9cbed01e42c0647907295de92c3fa296" > ◆ < / a > < / span > mi_heap_malloc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_malloc < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allocate in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > < / dd > < / dl >
< / div >
< / div >
< a id = "gab5b87e1805306f70df38789fcfcf6653" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gab5b87e1805306f70df38789fcfcf6653" > ◆ < / a > < / span > mi_heap_malloc_aligned()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_malloc_aligned < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ga23acd7680fb0976dde3783254c6c874b" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga23acd7680fb0976dde3783254c6c874b" > ◆ < / a > < / span > mi_heap_malloc_aligned_at()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_malloc_aligned_at < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > offset< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-06-22 10:30:09 -07:00
2019-09-11 20:48:41 -07:00
< / div >
< / div >
< a id = "gaa1a1c7a1f4da6826b5a25b70ef878368" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gaa1a1c7a1f4da6826b5a25b70ef878368" > ◆ < / a > < / span > mi_heap_malloc_small()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_malloc_small < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allocate a small object in a specific heap. < / p >
< p > < em > size< / em > must be smaller or equal to < a class = "el" href = "group__extended.html#ga1ea64283508718d9d645c38efc2f4305" title = "Maximum size allowed for small allocations in mi_malloc_small and mi_zalloc_small (usually 128*sizeof..." > MI_SMALL_SIZE_MAX()< / a > . < / p > < dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > < / dd > < / dl >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga851da6c43fe0b71c1376cee8aef90db0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga851da6c43fe0b71c1376cee8aef90db0" > ◆ < / a > < / span > mi_heap_mallocn()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_mallocn < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > count< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allocate < em > count< / em > elements in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#ga0b05e2bf0f73e7401ae08597ff782ac6" title = "Allocate count elements of size bytes." > mi_mallocn()< / a > < / dd > < / dl >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga766f672ba56f2fbfeb9d9dbb0b7f6b11" > ◆ < / a > < / span > mi_heap_new()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > * mi_heap_new < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Create a new heap that can be used for allocation. < / p >
2019-07-08 17:15:34 -07:00
< / div >
< / div >
< a id = "gaaef3395f66be48f37bdc8322509c5d81" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gaaef3395f66be48f37bdc8322509c5d81" > ◆ < / a > < / span > mi_heap_realloc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_realloc < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > newsize< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "gafc603b696bd14cae6da28658f950d98c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gafc603b696bd14cae6da28658f950d98c" > ◆ < / a > < / span > mi_heap_realloc_aligned()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_realloc_aligned < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > newsize< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "gaf96c788a1bf553fe2d371de9365e047c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gaf96c788a1bf553fe2d371de9365e047c" > ◆ < / a > < / span > mi_heap_realloc_aligned_at()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_realloc_aligned_at < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > newsize< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > offset< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ga4a21070eb4e7cce018133c8d5f4b0527" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga4a21070eb4e7cce018133c8d5f4b0527" > ◆ < / a > < / span > mi_heap_reallocf()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_reallocf < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > newsize< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "gac74e94ad9b0c9b57c1c4d88b8825b7a8" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gac74e94ad9b0c9b57c1c4d88b8825b7a8" > ◆ < / a > < / span > mi_heap_reallocn()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_reallocn < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > count< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga00e95ba1e01acac3cfd95bb7a357a6f0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga00e95ba1e01acac3cfd95bb7a357a6f0" > ◆ < / a > < / span > mi_heap_realpath()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > char* mi_heap_realpath < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const char *  < / td >
< td class = "paramname" > < em > fname< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > char *  < / td >
< td class = "paramname" > < em > resolved_name< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Resolve a file path name using a specific < em > heap< / em > to allocate the result. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#ga08cec32dd5bbe7da91c78d19f1b5bebe" title = "Resolve a file path name." > mi_realpath()< / a > < / dd > < / dl >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "gab8631ec88c8d26641b68b5d25dcd4422" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gab8631ec88c8d26641b68b5d25dcd4422" > ◆ < / a > < / span > mi_heap_set_default()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > * mi_heap_set_default < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-07-08 17:15:34 -07:00
< p > Set the default heap to use for < a class = "el" href = "group__malloc.html#ga3406e8b168bc74c8637b11571a6da83a" title = "Allocate size bytes." > mi_malloc()< / a > et al. < / p >
2019-06-22 10:30:09 -07:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > heap< / td > < td > The new default heap. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > The previous default heap. < / dd > < / dl >
< / div >
< / div >
< a id = "ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga139d6b09dbf50c3c2523d0f4d1cfdeb5" > ◆ < / a > < / span > mi_heap_strdup()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > char* mi_heap_strdup < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const char *  < / td >
< td class = "paramname" > < em > s< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Duplicate a string in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#gac7cffe13f1f458ed16789488bf92b9b2" title = "Allocate and duplicate a string." > mi_strdup()< / a > < / dd > < / dl >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga8e3dbd46650dd26573cf307a2c8f1f5a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga8e3dbd46650dd26573cf307a2c8f1f5a" > ◆ < / a > < / span > mi_heap_strndup()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > char* mi_heap_strndup < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const char *  < / td >
< td class = "paramname" > < em > s< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > n< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Duplicate a string of at most length < em > n< / em > in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#gaaabf971c2571891433477e2d21a35266" title = "Allocate and duplicate a string up to n bytes." > mi_strndup()< / a > < / dd > < / dl >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< a id = "ga903104592c8ed53417a3762da6241133" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga903104592c8ed53417a3762da6241133" > ◆ < / a > < / span > mi_heap_zalloc()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_zalloc < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Allocate zero-initialized in a specific heap. < / p >
2019-07-08 17:15:34 -07:00
< dl class = "section see" > < dt > See also< / dt > < dd > < a class = "el" href = "group__malloc.html#gafdd9d8bb2986e668ba9884f28af38000" title = "Allocate zero-initialized size bytes." > mi_zalloc()< / a > < / dd > < / dl >
< / div >
< / div >
< a id = "gaa450a59c6c7ae5fdbd1c2b80a8329ef0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#gaa450a59c6c7ae5fdbd1c2b80a8329ef0" > ◆ < / a > < / span > mi_heap_zalloc_aligned()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_zalloc_aligned < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
< a id = "ga45fb43a62776fbebbdf1edd99b527954" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ga45fb43a62776fbebbdf1edd99b527954" > ◆ < / a > < / span > mi_heap_zalloc_aligned_at()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* mi_heap_zalloc_aligned_at < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "group__heap.html#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t< / a > *  < / td >
< td class = "paramname" > < em > heap< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > size< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > alignment< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > size_t  < / td >
< td class = "paramname" > < em > offset< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2019-06-22 10:30:09 -07:00
< / div >
< / div >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
2021-12-18 16:36:37 -08:00
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" > < img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" / > < / a > 1.9.1 < / li >
2019-06-22 10:30:09 -07:00
< / ul >
< / div >
< / body >
< / html >