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">
2024-06-04 14:37:16 -07:00
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
2019-06-22 10:30:09 -07:00
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
2024-06-04 14:37:16 -07:00
< meta http-equiv = "X-UA-Compatible" content = "IE=11" />
2025-01-03 17:56:15 -08:00
< meta name = "generator" content = "Doxygen 1.13.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 >
2024-06-04 14:37:16 -07:00
< script type = "text/javascript" src = "clipboard.js" ></ script >
2019-06-22 10:30:09 -07:00
< link href = "navtree.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "navtreedata.js" ></ script >
< script type = "text/javascript" src = "navtree.js" ></ script >
2024-06-04 14:37:16 -07:00
< script type = "text/javascript" src = "resize.js" ></ script >
< script type = "text/javascript" src = "cookie.js" ></ script >
2019-06-22 10:30:09 -07:00
< 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" >
2024-06-04 14:37:16 -07:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () { init_search (); });
2019-06-22 10:30:09 -07:00
/* @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 >
2024-06-04 14:37:16 -07:00
< tr id = "projectrow" >
2019-06-22 10:30:09 -07:00
< td id = "projectlogo" >< img alt = "Logo" src = "mimalloc-logo.svg" /></ td >
2024-06-04 14:37:16 -07:00
< td id = "projectalign" >
< div id = "projectname" > mi-malloc< span id = "projectnumber" >   1.8/2.1</ span >
2019-06-22 10:30:09 -07:00
</ div >
</ td >
2024-06-04 14:37:16 -07:00
< td > < div id = "MSearchBox" class = "MSearchBoxInactive" >
2019-06-22 10:30:09 -07:00
< span class = "left" >
2024-06-04 14:37:16 -07:00
< span id = "MSearchSelect" onmouseover = "return searchBox.OnSearchSelectShow()" onmouseout = "return searchBox.OnSearchSelectHide()" >   </ span >
< input type = "text" id = "MSearchField" value = "" placeholder = "Search" accesskey = "S"
onfocus = "searchBox.OnSearchFieldFocus(true)"
onblur = "searchBox.OnSearchFieldFocus(false)"
2019-06-22 10:30:09 -07:00
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 -->
2025-01-03 17:56:15 -08:00
<!-- Generated by Doxygen 1.13.1 -->
2019-06-22 10:30:09 -07:00
< script type = "text/javascript" >
2024-06-04 14:37:16 -07:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox ( "searchBox" , "search/" , '.html' );
/* @license-end */
</ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () { codefold . init ( 0 ); });
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 >
2024-06-04 14:37:16 -07:00
< div id = "splitbar" style = "-moz-user-select:none;"
2019-06-22 10:30:09 -07:00
class = "ui-resizable-handle" >
</ div >
</ div >
< script type = "text/javascript" >
2024-06-04 14:37:16 -07:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function (){ initNavTree ( 'group__heap.html' , '' ); initResizable ( true ); });
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" >
2024-06-04 14:37:16 -07:00
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" ></ div >
< div class = "SRStatus" id = "Loading" > Loading...</ div >
< div class = "SRStatus" id = "Searching" > Searching...</ div >
< div class = "SRStatus" id = "NoMatches" > No Matches</ div >
</ div >
</ div >
</ div >
2019-06-22 10:30:09 -07:00
</ div >
< div class = "header" >
< div class = "summary" >
< a href = "#typedef-members" > Typedefs</ a > |
< a href = "#func-members" > Functions</ a > </ div >
2024-06-04 14:37:16 -07:00
< div class = "headertitle" >< div class = "title" > Heap Allocation</ div ></ div >
2019-06-22 10:30:09 -07:00
</ div > <!--header-->
< div class = "contents" >
2025-01-03 17:56:15 -08:00
< p > First-class heaps that can be destroyed in one go.
< a href = "#details" > More...</ a ></ p >
2019-06-22 10:30:09 -07:00
< table class = "memberdecls" >
2024-06-04 14:37:16 -07:00
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "typedef-members" name = "typedef-members" ></ a >
2019-06-22 10:30:09 -07:00
Typedefs</ h2 ></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "memitem:ga34a47cde5a5b38c29f1aa3c5e76943c2" id = "r_ga34a47cde5a5b38c29f1aa3c5e76943c2" >< td class = "memItemLeft" align = "right" valign = "top" > typedef struct mi_heap_s  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a ></ td ></ tr >
< tr class = "memdesc:ga34a47cde5a5b38c29f1aa3c5e76943c2" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Type of first-class heaps. < 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" >
2024-06-04 14:37:16 -07:00
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "func-members" name = "func-members" ></ a >
2019-06-22 10:30:09 -07:00
Functions</ h2 ></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "memitem:gaa718bb226ec0546ba6d1b6cb32179f3a" id = "r_gaa718bb226ec0546ba6d1b6cb32179f3a" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gaa718bb226ec0546ba6d1b6cb32179f3a" > mi_heap_new</ a > ()</ td ></ tr >
< tr class = "memdesc:gaa718bb226ec0546ba6d1b6cb32179f3a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Create a new heap that can be used for allocation. < br /></ td ></ tr >
< tr class = "separator:gaa718bb226ec0546ba6d1b6cb32179f3a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga2ab1af8d438819b55319c7ef51d1e409" id = "r_ga2ab1af8d438819b55319c7ef51d1e409" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga2ab1af8d438819b55319c7ef51d1e409" > mi_heap_delete</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap)</ td ></ tr >
< tr class = "memdesc:ga2ab1af8d438819b55319c7ef51d1e409" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Delete a previously allocated heap. < br /></ td ></ tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga2ab1af8d438819b55319c7ef51d1e409" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "memitem:ga9f9c0844edb9717f4feacd79116b8e0d" id = "r_ga9f9c0844edb9717f4feacd79116b8e0d" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga9f9c0844edb9717f4feacd79116b8e0d" > mi_heap_destroy</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap)</ td ></ tr >
< tr class = "memdesc:ga9f9c0844edb9717f4feacd79116b8e0d" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Destroy a heap, freeing all its still allocated blocks. < br /></ td ></ tr >
2019-06-22 10:30:09 -07:00
< tr class = "separator:ga9f9c0844edb9717f4feacd79116b8e0d" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "memitem:ga349b677dec7da5eacdbc7a385bd62a4a" id = "r_ga349b677dec7da5eacdbc7a385bd62a4a" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga349b677dec7da5eacdbc7a385bd62a4a" > mi_heap_set_default</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap)</ td ></ tr >
< tr class = "memdesc:ga349b677dec7da5eacdbc7a385bd62a4a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Set the default heap to use in the current thread for < a class = "el" href = "group__malloc.html#gae1dd97b542420c87ae085e822b1229e8" title = "Allocate size bytes." > mi_malloc()</ a > et al. < br /></ td ></ tr >
< tr class = "separator:ga349b677dec7da5eacdbc7a385bd62a4a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga14c667a6e2c5d28762d8cb7d4e057909" id = "r_ga14c667a6e2c5d28762d8cb7d4e057909" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga14c667a6e2c5d28762d8cb7d4e057909" > mi_heap_get_default</ a > ()</ td ></ tr >
< tr class = "memdesc:ga14c667a6e2c5d28762d8cb7d4e057909" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the default heap that is used for < a class = "el" href = "group__malloc.html#gae1dd97b542420c87ae085e822b1229e8" title = "Allocate size bytes." > mi_malloc()</ a > et al. < br /></ td ></ tr >
< tr class = "separator:ga14c667a6e2c5d28762d8cb7d4e057909" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gac6ac9f0e7be9ab4ff70acfc8dad1235a" id = "r_gac6ac9f0e7be9ab4ff70acfc8dad1235a" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gac6ac9f0e7be9ab4ff70acfc8dad1235a" > mi_heap_get_backing</ a > ()</ td ></ tr >
< tr class = "memdesc:gac6ac9f0e7be9ab4ff70acfc8dad1235a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the backing heap. < br /></ td ></ tr >
< tr class = "separator:gac6ac9f0e7be9ab4ff70acfc8dad1235a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga7922f7495cde30b1984d0e6072419298" id = "r_ga7922f7495cde30b1984d0e6072419298" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga7922f7495cde30b1984d0e6072419298" > mi_heap_collect</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, bool force)</ td ></ tr >
< tr class = "memdesc:ga7922f7495cde30b1984d0e6072419298" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Release outstanding resources in a specific heap. < br /></ td ></ tr >
2019-09-11 20:48:41 -07:00
< tr class = "separator:ga7922f7495cde30b1984d0e6072419298" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "memitem:gab374e206c7034e0d899fb934e4f4a863" id = "r_gab374e206c7034e0d899fb934e4f4a863" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gab374e206c7034e0d899fb934e4f4a863" > mi_heap_malloc</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size)</ td ></ tr >
< tr class = "memdesc:gab374e206c7034e0d899fb934e4f4a863" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Allocate in a specific heap. < br /></ td ></ tr >
< tr class = "separator:gab374e206c7034e0d899fb934e4f4a863" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga012c5c8abe22b10043de39ff95909541" id = "r_ga012c5c8abe22b10043de39ff95909541" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga012c5c8abe22b10043de39ff95909541" > mi_heap_malloc_small</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size)</ td ></ tr >
< tr class = "memdesc:ga012c5c8abe22b10043de39ff95909541" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Allocate a small object in a specific heap. < br /></ td ></ tr >
< tr class = "separator:ga012c5c8abe22b10043de39ff95909541" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gabebc796399619d964d8db77aa835e8c1" id = "r_gabebc796399619d964d8db77aa835e8c1" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gabebc796399619d964d8db77aa835e8c1" > mi_heap_zalloc</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size)</ td ></ tr >
< tr class = "memdesc:gabebc796399619d964d8db77aa835e8c1" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Allocate zero-initialized in a specific heap. < br /></ td ></ tr >
< tr class = "separator:gabebc796399619d964d8db77aa835e8c1" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gac0098aaf231d3e9586c73136d5df95da" id = "r_gac0098aaf231d3e9586c73136d5df95da" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gac0098aaf231d3e9586c73136d5df95da" > mi_heap_calloc</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t count, size_t size)</ td ></ tr >
2025-01-03 17:56:15 -08:00
< tr class = "memdesc:gac0098aaf231d3e9586c73136d5df95da" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Allocate < em class = "arg" > count</ em > zero-initialized elements in a specific heap. < br /></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "separator:gac0098aaf231d3e9586c73136d5df95da" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gab0f755c0b21c387fe8e9024200faa372" id = "r_gab0f755c0b21c387fe8e9024200faa372" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gab0f755c0b21c387fe8e9024200faa372" > mi_heap_mallocn</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t count, size_t size)</ td ></ tr >
2025-01-03 17:56:15 -08:00
< tr class = "memdesc:gab0f755c0b21c387fe8e9024200faa372" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Allocate < em class = "arg" > count</ em > elements in a specific heap. < br /></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "separator:gab0f755c0b21c387fe8e9024200faa372" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga5754e09ccc51dd6bc73885bb6ea21b7a" id = "r_ga5754e09ccc51dd6bc73885bb6ea21b7a" >< td class = "memItemLeft" align = "right" valign = "top" > char *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga5754e09ccc51dd6bc73885bb6ea21b7a" > mi_heap_strdup</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, const char *s)</ td ></ tr >
< tr class = "memdesc:ga5754e09ccc51dd6bc73885bb6ea21b7a" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Duplicate a string in a specific heap. < br /></ td ></ tr >
< tr class = "separator:ga5754e09ccc51dd6bc73885bb6ea21b7a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gad224df78f1fbee942df8adf023e12cf3" id = "r_gad224df78f1fbee942df8adf023e12cf3" >< td class = "memItemLeft" align = "right" valign = "top" > char *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gad224df78f1fbee942df8adf023e12cf3" > mi_heap_strndup</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, const char *s, size_t n)</ td ></ tr >
2025-01-03 17:56:15 -08:00
< tr class = "memdesc:gad224df78f1fbee942df8adf023e12cf3" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Duplicate a string of at most length < em class = "arg" > n</ em > in a specific heap. < br /></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "separator:gad224df78f1fbee942df8adf023e12cf3" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga55545a3ec6da29c5b4f62e540ecac1e2" id = "r_ga55545a3ec6da29c5b4f62e540ecac1e2" >< td class = "memItemLeft" align = "right" valign = "top" > char *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga55545a3ec6da29c5b4f62e540ecac1e2" > mi_heap_realpath</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, const char *fname, char *resolved_name)</ td ></ tr >
2025-01-03 17:56:15 -08:00
< tr class = "memdesc:ga55545a3ec6da29c5b4f62e540ecac1e2" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Resolve a file path name using a specific < em class = "arg" > heap</ em > to allocate the result. < br /></ td ></ tr >
2024-06-04 14:37:16 -07:00
< tr class = "separator:ga55545a3ec6da29c5b4f62e540ecac1e2" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gac5252d6a2e510bd349e4fcb452e6a93a" id = "r_gac5252d6a2e510bd349e4fcb452e6a93a" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gac5252d6a2e510bd349e4fcb452e6a93a" > mi_heap_realloc</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, void *p, size_t newsize)</ td ></ tr >
< tr class = "separator:gac5252d6a2e510bd349e4fcb452e6a93a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gaccf7bfe10ce510a000d3547d9cf7fa29" id = "r_gaccf7bfe10ce510a000d3547d9cf7fa29" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gaccf7bfe10ce510a000d3547d9cf7fa29" > mi_heap_reallocn</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, void *p, size_t count, size_t size)</ td ></ tr >
< tr class = "separator:gaccf7bfe10ce510a000d3547d9cf7fa29" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gae7cd171425bee04c683c65a3701f0b4a" id = "r_gae7cd171425bee04c683c65a3701f0b4a" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gae7cd171425bee04c683c65a3701f0b4a" > mi_heap_reallocf</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, void *p, size_t newsize)</ td ></ tr >
< tr class = "separator:gae7cd171425bee04c683c65a3701f0b4a" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga33f4f05b7fea7af2113c62a4bf882cc5" id = "r_ga33f4f05b7fea7af2113c62a4bf882cc5" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga33f4f05b7fea7af2113c62a4bf882cc5" > mi_heap_malloc_aligned</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size, size_t alignment)</ td ></ tr >
< tr class = "separator:ga33f4f05b7fea7af2113c62a4bf882cc5" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gae7ffc045c3996497a7f3a5f6fe7b8aaa" id = "r_gae7ffc045c3996497a7f3a5f6fe7b8aaa" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gae7ffc045c3996497a7f3a5f6fe7b8aaa" > mi_heap_malloc_aligned_at</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size, size_t alignment, size_t offset)</ td ></ tr >
< tr class = "separator:gae7ffc045c3996497a7f3a5f6fe7b8aaa" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga6466bde8b5712aa34e081a8317f9f471" id = "r_ga6466bde8b5712aa34e081a8317f9f471" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga6466bde8b5712aa34e081a8317f9f471" > mi_heap_zalloc_aligned</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size, size_t alignment)</ td ></ tr >
< tr class = "separator:ga6466bde8b5712aa34e081a8317f9f471" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga484e3d01cd174f78c7e53370e5a7c819" id = "r_ga484e3d01cd174f78c7e53370e5a7c819" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga484e3d01cd174f78c7e53370e5a7c819" > mi_heap_zalloc_aligned_at</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t size, size_t alignment, size_t offset)</ td ></ tr >
< tr class = "separator:ga484e3d01cd174f78c7e53370e5a7c819" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gacafcc26df827c7a7de5e850217566108" id = "r_gacafcc26df827c7a7de5e850217566108" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gacafcc26df827c7a7de5e850217566108" > mi_heap_calloc_aligned</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t count, size_t size, size_t alignment)</ td ></ tr >
< tr class = "separator:gacafcc26df827c7a7de5e850217566108" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gaa42ec2079989c4374f2c331d9b35f4e4" id = "r_gaa42ec2079989c4374f2c331d9b35f4e4" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gaa42ec2079989c4374f2c331d9b35f4e4" > mi_heap_calloc_aligned_at</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, size_t count, size_t size, size_t alignment, size_t offset)</ td ></ tr >
< tr class = "separator:gaa42ec2079989c4374f2c331d9b35f4e4" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gaccf8c249872f30bf1c2493a09197d734" id = "r_gaccf8c249872f30bf1c2493a09197d734" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#gaccf8c249872f30bf1c2493a09197d734" > mi_heap_realloc_aligned</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, void *p, size_t newsize, size_t alignment)</ td ></ tr >
< tr class = "separator:gaccf8c249872f30bf1c2493a09197d734" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga6df988a7219d5707f010d5f3eb0dc3f5" id = "r_ga6df988a7219d5707f010d5f3eb0dc3f5" >< td class = "memItemLeft" align = "right" valign = "top" > void *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "#ga6df988a7219d5707f010d5f3eb0dc3f5" > mi_heap_realloc_aligned_at</ a > (< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *heap, void *p, size_t newsize, size_t alignment, size_t offset)</ td ></ tr >
< tr class = "separator:ga6df988a7219d5707f010d5f3eb0dc3f5" >< 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 >
2024-06-04 14:37:16 -07:00
< a id = "ga34a47cde5a5b38c29f1aa3c5e76943c2" name = "ga34a47cde5a5b38c29f1aa3c5e76943c2" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > ◆  </ a ></ span > mi_heap_t</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > typedef struct mi_heap_s < a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a ></ td >
2019-06-22 10:30:09 -07:00
</ 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 >
2024-06-04 14:37:16 -07:00
< a id = "gac0098aaf231d3e9586c73136d5df95da" name = "gac0098aaf231d3e9586c73136d5df95da" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gac0098aaf231d3e9586c73136d5df95da" > ◆  </ a ></ span > mi_heap_calloc()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_calloc </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > count</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2025-01-03 17:56:15 -08:00
< p > Allocate < em class = "arg" > count</ em > zero-initialized elements in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#ga6686568014b54d1e6c7ac64a076e4f56" title = "Allocate zero-initialized count elements of size bytes." > mi_calloc()</ a > </ dd ></ dl >
2019-07-08 17:15:34 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gacafcc26df827c7a7de5e850217566108" name = "gacafcc26df827c7a7de5e850217566108" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gacafcc26df827c7a7de5e850217566108" > ◆  </ a ></ span > mi_heap_calloc_aligned()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_calloc_aligned </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > count</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gaa42ec2079989c4374f2c331d9b35f4e4" name = "gaa42ec2079989c4374f2c331d9b35f4e4" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gaa42ec2079989c4374f2c331d9b35f4e4" > ◆  </ a ></ span > mi_heap_calloc_aligned_at()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_calloc_aligned_at </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > count</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > offset</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2019-06-22 10:30:09 -07:00
2019-09-11 20:48:41 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga7922f7495cde30b1984d0e6072419298" name = "ga7922f7495cde30b1984d0e6072419298" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga7922f7495cde30b1984d0e6072419298" > ◆  </ a ></ span > mi_heap_collect()</ h2 >
2019-09-11 20:48:41 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_collect </ td >
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-09-11 20:48:41 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > bool</ td > < td class = "paramname" >< span class = "paramname" >< em > force</ em ></ span >   )</ td >
2019-09-11 20:48:41 -07:00
</ 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 >
2024-06-04 14:37:16 -07:00
< a id = "ga2ab1af8d438819b55319c7ef51d1e409" name = "ga2ab1af8d438819b55319c7ef51d1e409" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga2ab1af8d438819b55319c7ef51d1e409" > ◆  </ a ></ span > mi_heap_delete()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_delete </ td >
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Delete a previously allocated heap. </ p >
2024-06-04 14:37:16 -07:00
< p > This will release resources and migrate any still allocated blocks in this heap (efficiently) to the default heap.</ p >
2025-01-03 17:56:15 -08:00
< p > If < em class = "arg" > heap</ em > is the default heap, the default heap is set to the backing heap. </ p >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga9f9c0844edb9717f4feacd79116b8e0d" name = "ga9f9c0844edb9717f4feacd79116b8e0d" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga9f9c0844edb9717f4feacd79116b8e0d" > ◆  </ a ></ span > mi_heap_destroy()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void mi_heap_destroy </ td >
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< 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 >
2025-01-03 17:56:15 -08:00
< p > If < em class = "arg" > heap</ em > is the default heap, the default heap is set to the backing heap. </ p >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gac6ac9f0e7be9ab4ff70acfc8dad1235a" name = "gac6ac9f0e7be9ab4ff70acfc8dad1235a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gac6ac9f0e7be9ab4ff70acfc8dad1235a" > ◆  </ a ></ span > mi_heap_get_backing()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > * mi_heap_get_backing </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramname" >< span class = "paramname" >< em ></ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< 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 >
2024-06-04 14:37:16 -07:00
< a id = "ga14c667a6e2c5d28762d8cb7d4e057909" name = "ga14c667a6e2c5d28762d8cb7d4e057909" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga14c667a6e2c5d28762d8cb7d4e057909" > ◆  </ a ></ span > mi_heap_get_default()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > * mi_heap_get_default </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramname" >< span class = "paramname" >< em ></ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
2024-06-04 14:37:16 -07:00
< p > Get the default heap that is used for < a class = "el" href = "group__malloc.html#gae1dd97b542420c87ae085e822b1229e8" title = "Allocate size bytes." > mi_malloc()</ a > et al. </ p >
< p > (for the current thread). </ p >< dl class = "section return" >< dt > Returns</ dt >< dd > The current default heap. </ dd ></ dl >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gab374e206c7034e0d899fb934e4f4a863" name = "gab374e206c7034e0d899fb934e4f4a863" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gab374e206c7034e0d899fb934e4f4a863" > ◆  </ a ></ span > mi_heap_malloc()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_malloc </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Allocate in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#gae1dd97b542420c87ae085e822b1229e8" title = "Allocate size bytes." > mi_malloc()</ a > </ dd ></ dl >
2019-07-08 17:15:34 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga33f4f05b7fea7af2113c62a4bf882cc5" name = "ga33f4f05b7fea7af2113c62a4bf882cc5" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga33f4f05b7fea7af2113c62a4bf882cc5" > ◆  </ a ></ span > mi_heap_malloc_aligned()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_malloc_aligned </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gae7ffc045c3996497a7f3a5f6fe7b8aaa" name = "gae7ffc045c3996497a7f3a5f6fe7b8aaa" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gae7ffc045c3996497a7f3a5f6fe7b8aaa" > ◆  </ a ></ span > mi_heap_malloc_aligned_at()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_malloc_aligned_at </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > offset</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2019-06-22 10:30:09 -07:00
2019-09-11 20:48:41 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga012c5c8abe22b10043de39ff95909541" name = "ga012c5c8abe22b10043de39ff95909541" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga012c5c8abe22b10043de39ff95909541" > ◆  </ a ></ span > mi_heap_malloc_small()</ h2 >
2019-09-11 20:48:41 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_malloc_small </ td >
2019-09-11 20:48:41 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-09-11 20:48:41 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-09-11 20:48:41 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Allocate a small object in a specific heap. </ p >
2025-01-03 17:56:15 -08:00
< p >< em class = "arg" > 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#gae1dd97b542420c87ae085e822b1229e8" title = "Allocate size bytes." > mi_malloc()</ a > </ dd ></ dl >
2019-09-11 20:48:41 -07:00
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gab0f755c0b21c387fe8e9024200faa372" name = "gab0f755c0b21c387fe8e9024200faa372" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gab0f755c0b21c387fe8e9024200faa372" > ◆  </ a ></ span > mi_heap_mallocn()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_mallocn </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > count</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2025-01-03 17:56:15 -08:00
< p > Allocate < em class = "arg" > count</ em > elements in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#ga61f46bade3db76ca24aaafedc40de7b6" title = "Allocate count elements of size bytes." > mi_mallocn()</ a > </ dd ></ dl >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gaa718bb226ec0546ba6d1b6cb32179f3a" name = "gaa718bb226ec0546ba6d1b6cb32179f3a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gaa718bb226ec0546ba6d1b6cb32179f3a" > ◆  </ a ></ span > mi_heap_new()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > * mi_heap_new </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramname" >< span class = "paramname" >< em ></ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< 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 >
2024-06-04 14:37:16 -07:00
< a id = "gac5252d6a2e510bd349e4fcb452e6a93a" name = "gac5252d6a2e510bd349e4fcb452e6a93a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gac5252d6a2e510bd349e4fcb452e6a93a" > ◆  </ a ></ span > mi_heap_realloc()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_realloc </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > void *</ td > < td class = "paramname" >< span class = "paramname" >< em > p</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > newsize</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gaccf8c249872f30bf1c2493a09197d734" name = "gaccf8c249872f30bf1c2493a09197d734" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gaccf8c249872f30bf1c2493a09197d734" > ◆  </ a ></ span > mi_heap_realloc_aligned()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_realloc_aligned </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > void *</ td > < td class = "paramname" >< span class = "paramname" >< em > p</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > newsize</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga6df988a7219d5707f010d5f3eb0dc3f5" name = "ga6df988a7219d5707f010d5f3eb0dc3f5" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga6df988a7219d5707f010d5f3eb0dc3f5" > ◆  </ a ></ span > mi_heap_realloc_aligned_at()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_realloc_aligned_at </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > void *</ td > < td class = "paramname" >< span class = "paramname" >< em > p</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > newsize</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > offset</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gae7cd171425bee04c683c65a3701f0b4a" name = "gae7cd171425bee04c683c65a3701f0b4a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gae7cd171425bee04c683c65a3701f0b4a" > ◆  </ a ></ span > mi_heap_reallocf()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_reallocf </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > void *</ td > < td class = "paramname" >< span class = "paramname" >< em > p</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > newsize</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gaccf7bfe10ce510a000d3547d9cf7fa29" name = "gaccf7bfe10ce510a000d3547d9cf7fa29" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gaccf7bfe10ce510a000d3547d9cf7fa29" > ◆  </ a ></ span > mi_heap_reallocn()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_reallocn </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > void *</ td > < td class = "paramname" >< span class = "paramname" >< em > p</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > count</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga55545a3ec6da29c5b4f62e540ecac1e2" name = "ga55545a3ec6da29c5b4f62e540ecac1e2" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga55545a3ec6da29c5b4f62e540ecac1e2" > ◆  </ a ></ span > mi_heap_realpath()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > char * mi_heap_realpath </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > const char *</ td > < td class = "paramname" >< span class = "paramname" >< em > fname</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > char *</ td > < td class = "paramname" >< span class = "paramname" >< em > resolved_name</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2025-01-03 17:56:15 -08:00
< p > Resolve a file path name using a specific < em class = "arg" > heap</ em > to allocate the result. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#ga94c3afcc086e85d75a57e9f76b9b71dd" title = "Resolve a file path name." > mi_realpath()</ a > </ dd ></ dl >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga349b677dec7da5eacdbc7a385bd62a4a" name = "ga349b677dec7da5eacdbc7a385bd62a4a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga349b677dec7da5eacdbc7a385bd62a4a" > ◆  </ a ></ span > mi_heap_set_default()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > * mi_heap_set_default </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span ></ td >< td > )</ td >
2019-06-22 10:30:09 -07:00
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
2024-06-04 14:37:16 -07:00
< p > Set the default heap to use in the current thread for < a class = "el" href = "group__malloc.html#gae1dd97b542420c87ae085e822b1229e8" 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 >
2024-06-04 14:37:16 -07:00
< a id = "ga5754e09ccc51dd6bc73885bb6ea21b7a" name = "ga5754e09ccc51dd6bc73885bb6ea21b7a" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga5754e09ccc51dd6bc73885bb6ea21b7a" > ◆  </ a ></ span > mi_heap_strdup()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > char * mi_heap_strdup </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > const char *</ td > < td class = "paramname" >< span class = "paramname" >< em > s</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Duplicate a string in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#ga245ac90ebc2cfdd17de599e5fea59889" title = "Allocate and duplicate a string." > mi_strdup()</ a > </ dd ></ dl >
2019-06-22 10:30:09 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "gad224df78f1fbee942df8adf023e12cf3" name = "gad224df78f1fbee942df8adf023e12cf3" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gad224df78f1fbee942df8adf023e12cf3" > ◆  </ a ></ span > mi_heap_strndup()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > char * mi_heap_strndup </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > const char *</ td > < td class = "paramname" >< span class = "paramname" >< em > s</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > n</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
2025-01-03 17:56:15 -08:00
< p > Duplicate a string of at most length < em class = "arg" > n</ em > in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#ga486d0d26b3b3794f6d1cdb41a9aed92d" 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 >
2024-06-04 14:37:16 -07:00
< a id = "gabebc796399619d964d8db77aa835e8c1" name = "gabebc796399619d964d8db77aa835e8c1" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#gabebc796399619d964d8db77aa835e8c1" > ◆  </ a ></ span > mi_heap_zalloc()</ h2 >
2019-06-22 10:30:09 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_zalloc </ td >
2019-06-22 10:30:09 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-06-22 10:30:09 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span >   )</ td >
2019-06-22 10:30:09 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Allocate zero-initialized in a specific heap. </ p >
2024-06-04 14:37:16 -07:00
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__malloc.html#gae6e38c4403247a7b40d80419e093bfb8" title = "Allocate zero-initialized size bytes." > mi_zalloc()</ a > </ dd ></ dl >
2019-07-08 17:15:34 -07:00
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga6466bde8b5712aa34e081a8317f9f471" name = "ga6466bde8b5712aa34e081a8317f9f471" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga6466bde8b5712aa34e081a8317f9f471" > ◆  </ a ></ span > mi_heap_zalloc_aligned()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_zalloc_aligned </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ tr >
</ table >
</ div >< div class = "memdoc" >
</ div >
</ div >
2024-06-04 14:37:16 -07:00
< a id = "ga484e3d01cd174f78c7e53370e5a7c819" name = "ga484e3d01cd174f78c7e53370e5a7c819" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ga484e3d01cd174f78c7e53370e5a7c819" > ◆  </ a ></ span > mi_heap_zalloc_aligned_at()</ h2 >
2019-07-08 17:15:34 -07:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-06-04 14:37:16 -07:00
< td class = "memname" > void * mi_heap_zalloc_aligned_at </ td >
2019-07-08 17:15:34 -07:00
< td > (</ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" >< a class = "el" href = "#ga34a47cde5a5b38c29f1aa3c5e76943c2" > mi_heap_t</ a > *</ td > < td class = "paramname" >< span class = "paramname" >< em > heap</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > size</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > alignment</ em ></ span > , </ td >
2019-07-08 17:15:34 -07:00
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
2024-06-04 14:37:16 -07:00
< td class = "paramtype" > size_t</ td > < td class = "paramname" >< span class = "paramname" >< em > offset</ em ></ span >   )</ td >
2019-07-08 17:15:34 -07:00
</ 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 >
2025-01-03 17:56:15 -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.13.1 </ li >
2019-06-22 10:30:09 -07:00
</ ul >
</ div >
</ body >
</ html >