1 Star 0 Fork 0

mobangjack / memory

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
namespacefoonathan_1_1memory.html 119.65 KB
一键复制 编辑 原始数据 按行查看 历史
Jonathan Müller 提交于 2020-05-05 17:04 . Update documentation
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
<!-- HTML header for doxygen 1.8.16-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>memory: foonathan::memory Namespace Reference</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="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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">memory
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="main-nav">
<ul class="sm sm-dox" id="main-menu">
<li><a href="index.html">Main Page</a></li>
<li><a href="md_doc_tutorial.html">Tutorial</a></li>
<li><a href="namespacefoonathan_1_1memory.html">Index</a></li>
<li><a href="files.html">Files</a></li>
</ul>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacefoonathan.html">foonathan</a></li><li class="navelem"><a class="el" href="namespacefoonathan_1_1memory.html">memory</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">foonathan::memory Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacefoonathan_1_1memory_1_1literals"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefoonathan_1_1memory_1_1literals.html">literals</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1aligned__allocator.html">aligned_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> adapter that ensures a minimum alignment. <a href="classfoonathan_1_1memory_1_1aligned__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1allocate__shared__node__size.html">allocate_shared_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The node size required by <a class="el" href="group__adapter.html#ga5becad5eeaeb066f681396d4573216ab">allocate_shared</a>. <a href="structfoonathan_1_1memory_1_1allocate__shared__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__adapter.html">allocator_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias template for <a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a> using the <a class="el" href="classfoonathan_1_1memory_1_1direct__storage.html">direct_storage</a> policy without a mutex. <a href="classfoonathan_1_1memory_1_1allocator__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__deallocator.html">allocator_deallocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A deleter class that deallocates the memory through a specified <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1allocator__deallocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__deallocator_3_01_type_0f_0e_00_01_raw_allocator_01_4.html">allocator_deallocator&lt; Type[], RawAllocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="classfoonathan_1_1memory_1_1allocator__deallocator.html">allocator_deallocator</a> for array types. <a href="classfoonathan_1_1memory_1_1allocator__deallocator_3_01_type_0f_0e_00_01_raw_allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to <a class="el" href="classfoonathan_1_1memory_1_1allocator__deallocator.html">allocator_deallocator</a> but calls the destructors of the object. <a href="classfoonathan_1_1memory_1_1allocator__deleter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter_3_01_type_0f_0e_00_01_raw_allocator_01_4.html">allocator_deleter&lt; Type[], RawAllocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a> for array types. <a href="classfoonathan_1_1memory_1_1allocator__deleter_3_01_type_0f_0e_00_01_raw_allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1allocator__info.html">allocator_info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains information about an allocator. <a href="structfoonathan_1_1memory_1_1allocator__info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1allocator__is__raw__allocator.html">allocator_is_raw_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traits class that checks whether or not a standard <code>Allocator</code> can be used as <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="structfoonathan_1_1memory_1_1allocator__is__raw__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1allocator__is__raw__allocator_3_01std_1_1allocator_3_01_t_01_4_01_4.html">allocator_is_raw_allocator&lt; std::allocator&lt; T &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="structfoonathan_1_1memory_1_1allocator__is__raw__allocator.html">allocator_is_raw_allocator</a> that allows <code>std::allocator</code> again. <a href="structfoonathan_1_1memory_1_1allocator__is__raw__allocator_3_01std_1_1allocator_3_01_t_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__polymorphic__deallocator.html">allocator_polymorphic_deallocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A deleter class that deallocates the memory of a derived type through a specified <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1allocator__polymorphic__deallocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__polymorphic__deleter.html">allocator_polymorphic_deleter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to <a class="el" href="classfoonathan_1_1memory_1_1allocator__polymorphic__deallocator.html">allocator_polymorphic_deallocator</a> but calls the destructors of the object. <a href="classfoonathan_1_1memory_1_1allocator__polymorphic__deleter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__reference.html">allocator_reference</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias template for <a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a> using the <a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a> policy. <a href="classfoonathan_1_1memory_1_1allocator__reference.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that stores another allocator. <a href="classfoonathan_1_1memory_1_1allocator__storage.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default specialization of the allocator_traits for a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1allocator__traits.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits_3_01iteration__allocator_3_01_n_00_01_block_allocator_01_4_01_4.html">allocator_traits&lt; iteration_allocator&lt; N, BlockAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1iteration__allocator.html">iteration_allocator</a>. <a href="classfoonathan_1_1memory_1_1allocator__traits_3_01iteration__allocator_3_01_n_00_01_block_allocator_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__pool_3_01_pool_type_00_01_impl_raw_allocator_01_4_01_4.html">allocator_traits&lt; memory_pool&lt; PoolType, ImplRawAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool.html">memory_pool</a> classes. <a href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__pool_3_01_pool_type_00_01_impl_raw_allocator_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__pool__collection_3_01_pool_00_01_buckef268525d95f2695d3a18eceb407fc153.html">allocator_traits&lt; memory_pool_collection&lt; Pool, BucketDist, RawAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a> classes. <a href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__pool__collection_3_01_pool_00_01_buckef268525d95f2695d3a18eceb407fc153.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__stack_3_01_block_allocator_01_4_01_4.html">allocator_traits&lt; memory_stack&lt; BlockAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__stack.html">memory_stack</a> classes. <a href="classfoonathan_1_1memory_1_1allocator__traits_3_01memory__stack_3_01_block_allocator_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1allocator__traits_3_01temporary__allocator_01_4.html">allocator_traits&lt; temporary_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1allocator__traits.html">allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1temporary__allocator.html">temporary_allocator</a> classes. <a href="classfoonathan_1_1memory_1_1allocator__traits_3_01temporary__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type that enables type-erasure in <a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a>. <a href="structfoonathan_1_1memory_1_1any__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1any__std__allocator.html">any_std_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias template for <a class="el" href="classfoonathan_1_1memory_1_1std__allocator.html">std_allocator</a> using a type-erased <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1any__std__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1array__pool.html">array_pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type defining a memory pool optimized for arrays. <a href="structfoonathan_1_1memory_1_1array__pool.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1bad__alignment.html">bad_alignment</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception class thrown when the alignment exceeds the supported maximum, i.e. <a href="classfoonathan_1_1memory_1_1bad__alignment.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1bad__allocation__size.html">bad_allocation_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception class thrown when an allocation size is bigger than the supported maximum. <a href="classfoonathan_1_1memory_1_1bad__allocation__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1bad__array__size.html">bad_array_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception class thrown when the array size exceeds the supported maximum, i.e. <a href="classfoonathan_1_1memory_1_1bad__array__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1bad__node__size.html">bad_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception class thrown when the node size exceeds the supported maximum, i.e. <a href="classfoonathan_1_1memory_1_1bad__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1binary__segregator.html">binary_segregator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that either uses the <a href="md_doc_concepts.html#concept_segregatable">Segregatable</a> or the other <code>RawAllocator</code>. <a href="classfoonathan_1_1memory_1_1binary__segregator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1bucket__allocator.html">bucket_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a> using the <a class="el" href="structfoonathan_1_1memory_1_1identity__buckets.html">identity_buckets</a> policy and a <code>PoolType</code> defaulting to <a class="el" href="structfoonathan_1_1memory_1_1node__pool.html">node_pool</a>. <a href="classfoonathan_1_1memory_1_1bucket__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits.html">composable_allocator_traits</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default specialization of the composable_allocator_traits for a <a href="md_doc_concepts.html#concept_composableallocator">ComposableAllocator</a>. <a href="classfoonathan_1_1memory_1_1composable__allocator__traits.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01iteration__allocator_3_01_n_00_01_block_allocator_01_4_01_4.html">composable_allocator_traits&lt; iteration_allocator&lt; N, BlockAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits.html">composable_allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1iteration__allocator.html">iteration_allocator</a> classes. <a href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01iteration__allocator_3_01_n_00_01_block_allocator_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__pool_3_01_pool_type_00_01_56d9b96e5c95a80e8643d831a5b55e1c.html">composable_allocator_traits&lt; memory_pool&lt; PoolType, BlockOrRawAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits.html">composable_allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool.html">memory_pool</a> classes. <a href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__pool_3_01_pool_type_00_01_56d9b96e5c95a80e8643d831a5b55e1c.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__pool__collection_3_01_poolf1a1d86df4b4a95001202ecd4d561909.html">composable_allocator_traits&lt; memory_pool_collection&lt; Pool, BucketDist, RawAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits.html">composable_allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a> classes. <a href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__pool__collection_3_01_poolf1a1d86df4b4a95001202ecd4d561909.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__stack_3_01_block_allocator_01_4_01_4.html">composable_allocator_traits&lt; memory_stack&lt; BlockAllocator &gt; &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="classfoonathan_1_1memory_1_1composable__allocator__traits.html">composable_allocator_traits</a> for <a class="el" href="classfoonathan_1_1memory_1_1memory__stack.html">memory_stack</a> classes. <a href="classfoonathan_1_1memory_1_1composable__allocator__traits_3_01memory__stack_3_01_block_allocator_01_4_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1deeply__tracked__allocator.html">deeply_tracked_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a class="el" href="classfoonathan_1_1memory_1_1tracked__allocator.html">tracked_allocator</a> that has rebound any <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> to the corresponding <a class="el" href="group__adapter.html#ga1fccf7950ead6f37a7360fe08da0ab31">deeply_tracked_block_allocator</a>. <a href="classfoonathan_1_1memory_1_1deeply__tracked__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1deque.html">deque</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1deque.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1deque__scoped__alloc.html">deque_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1deque__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1direct__storage.html">direct_storage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_storagepolicy">StoragePolicy</a> that stores the allocator directly. <a href="classfoonathan_1_1memory_1_1direct__storage.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1double__frame__allocator.html">double_frame_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <a class="el" href="classfoonathan_1_1memory_1_1iteration__allocator.html">iteration_allocator</a> for two iterations. <a href="classfoonathan_1_1memory_1_1double__frame__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1fallback__allocator.html">fallback_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#raw_allocator">RawAllocator</a> with a fallback. <a href="classfoonathan_1_1memory_1_1fallback__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1fixed__block__allocator.html">fixed_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> that allows only one block allocation. <a href="classfoonathan_1_1memory_1_1fixed__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1forward__list.html">forward_list</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1forward__list.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1forward__list__node__size.html">forward_list_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1forward__list__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1forward__list__scoped__alloc.html">forward_list_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1forward__list__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1growing__block__allocator.html">growing_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> that uses a given <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for allocating the blocks. <a href="classfoonathan_1_1memory_1_1growing__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1identity__buckets.html">identity_buckets</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>BucketDistribution</code> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a> defining that there is a bucket, i.e. <a href="structfoonathan_1_1memory_1_1identity__buckets.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__block__allocator.html">is_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traits that check whether a type models concept <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a>. <a href="structfoonathan_1_1memory_1_1is__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__composable__allocator.html">is_composable_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traits that check whether a type models concept <a href="md_doc_concepts.html#concept_rawallocator">ComposableAllocator</a>. <a href="structfoonathan_1_1memory_1_1is__composable__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__raw__allocator.html">is_raw_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traits that check whether a type models concept <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="structfoonathan_1_1memory_1_1is__raw__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__shared__allocator.html">is_shared_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies whether or not a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> has shared semantics. <a href="structfoonathan_1_1memory_1_1is__shared__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__shared__allocator_3_01joint__allocator_01_4.html">is_shared_allocator&lt; joint_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="structfoonathan_1_1memory_1_1is__shared__allocator.html">is_shared_allocator</a> to mark <a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> as shared. <a href="structfoonathan_1_1memory_1_1is__shared__allocator_3_01joint__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__shared__allocator_3_01memory__resource__allocator_01_4.html">is_shared_allocator&lt; memory_resource_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="structfoonathan_1_1memory_1_1is__shared__allocator.html">is_shared_allocator</a> to mark <a class="el" href="classfoonathan_1_1memory_1_1memory__resource__allocator.html">memory_resource_allocator</a> as shared. <a href="structfoonathan_1_1memory_1_1is__shared__allocator_3_01memory__resource__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__thread__safe__allocator.html">is_thread_safe_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies whether or not a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> is thread safe as-is. <a href="structfoonathan_1_1memory_1_1is__thread__safe__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1is__thread__safe__allocator_3_01joint__allocator_01_4.html">is_thread_safe_allocator&lt; joint_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of <a class="el" href="structfoonathan_1_1memory_1_1is__thread__safe__allocator.html">is_thread_safe_allocator</a> to mark <a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> as thread safe. <a href="structfoonathan_1_1memory_1_1is__thread__safe__allocator_3_01joint__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1iteration__allocator.html">iteration_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that is designed for allocations in a loop. <a href="classfoonathan_1_1memory_1_1iteration__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint.html">joint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type that can't be created. <a href="classfoonathan_1_1memory_1_1joint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that uses the additional joint memory for its allocation. <a href="classfoonathan_1_1memory_1_1joint__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__array.html">joint_array</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A zero overhead dynamic array using joint memory. <a href="classfoonathan_1_1memory_1_1joint__array.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__ptr.html">joint_ptr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to an object where all allocations are joint. <a href="classfoonathan_1_1memory_1_1joint__ptr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1joint__size.html">joint_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type to make the joint size more explicit. <a href="structfoonathan_1_1memory_1_1joint__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__type.html">joint_type</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CRTP base class for all objects that want to use joint memory. <a href="classfoonathan_1_1memory_1_1joint__type.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1list.html">list</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1list.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1list__node__size.html">list_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1list__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1list__scoped__alloc.html">list_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1list__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1log2__buckets.html">log2_buckets</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>BucketDistribution</code> for <a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a> defining that there is a bucket, i.e. <a href="structfoonathan_1_1memory_1_1log2__buckets.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1map.html">map</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1map.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1map__node__size.html">map_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1map__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1map__scoped__alloc.html">map_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1map__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__arena.html">memory_arena</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory arena that manages huge memory blocks for a higher-level allocator. <a href="classfoonathan_1_1memory_1_1memory__arena.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1memory__block.html">memory_block</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory block. <a href="structfoonathan_1_1memory_1_1memory__block.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__pool.html">memory_pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that manages <a href="md_doc_concepts.html#concept_node">nodes</a> of fixed size. <a href="classfoonathan_1_1memory_1_1memory__pool.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__pool__collection.html">memory_pool_collection</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that behaves as a collection of multiple <a class="el" href="classfoonathan_1_1memory_1_1memory__pool.html">memory_pool</a> objects. <a href="classfoonathan_1_1memory_1_1memory__pool__collection.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__resource.html">memory_resource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>memory_resource</code> abstract base class used in the implementation. <a href="classfoonathan_1_1memory_1_1memory__resource.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__resource__adapter.html">memory_resource_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> and makes it a <a class="el" href="classfoonathan_1_1memory_1_1memory__resource.html">memory_resource</a>. <a href="classfoonathan_1_1memory_1_1memory__resource__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__resource__allocator.html">memory_resource_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps a <a class="el" href="classfoonathan_1_1memory_1_1memory__resource.html">memory_resource</a> and makes it a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1memory__resource__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__stack.html">memory_stack</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that provides stack-like (LIFO) allocations. <a href="classfoonathan_1_1memory_1_1memory__stack.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1memory__stack__raii__unwind.html">memory_stack_raii_unwind</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Simple utility that automatically unwinds a <code>Stack</code> to a previously saved location. <a href="classfoonathan_1_1memory_1_1memory__stack__raii__unwind.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1multimap.html">multimap</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1multimap.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1multimap__node__size.html">multimap_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1multimap__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1multimap__scoped__alloc.html">multimap_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1multimap__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1multiset.html">multiset</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1multiset.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1multiset__node__size.html">multiset_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1multiset__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1multiset__scoped__alloc.html">multiset_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1multiset__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1no__mutex.html">no_mutex</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A dummy <code>Mutex</code> class that does not lock anything. <a href="structfoonathan_1_1memory_1_1no__mutex.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1node__pool.html">node_pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type defining a memory pool optimized for nodes. <a href="structfoonathan_1_1memory_1_1node__pool.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1null__allocator.html">null_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A composable <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that will always fail. <a href="classfoonathan_1_1memory_1_1null__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1out__of__fixed__memory.html">out_of_fixed_memory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A special case of <a class="el" href="classfoonathan_1_1memory_1_1out__of__memory.html">out_of_memory</a> errors thrown when a low-level allocator with a fixed size runs out of memory. <a href="classfoonathan_1_1memory_1_1out__of__fixed__memory.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1out__of__memory.html">out_of_memory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The exception class thrown when a low level allocator runs out of memory. <a href="classfoonathan_1_1memory_1_1out__of__memory.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1priority__queue.html">priority_queue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1priority__queue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1priority__queue__scoped__alloc.html">priority_queue_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1priority__queue__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1propagation__traits.html">propagation_traits</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the propagation of a <a class="el" href="classfoonathan_1_1memory_1_1std__allocator.html">std_allocator</a> for a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="structfoonathan_1_1memory_1_1propagation__traits.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1propagation__traits_3_01joint__allocator_01_4.html">propagation_traits&lt; joint_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the <a class="el" href="structfoonathan_1_1memory_1_1propagation__traits.html">propagation_traits</a> for the <a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a>. <a href="structfoonathan_1_1memory_1_1propagation__traits_3_01joint__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1queue.html">queue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1queue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1queue__scoped__alloc.html">queue_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1queue__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_storagepolicy">StoragePolicy</a> that stores a reference to an allocator. <a href="classfoonathan_1_1memory_1_1reference__storage.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1reference__storage_3_01any__allocator_01_4.html">reference_storage&lt; any_allocator &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization of the class template <a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a> that is type-erased. <a href="classfoonathan_1_1memory_1_1reference__storage_3_01any__allocator_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1segregator.html">segregator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates multiple nested <a class="el" href="classfoonathan_1_1memory_1_1binary__segregator.html">binary_segregator</a>. <a href="classfoonathan_1_1memory_1_1segregator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1segregator__size.html">segregator_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of <a href="md_doc_concepts.html#concept_segregatable">Segregatable</a> a <a class="el" href="classfoonathan_1_1memory_1_1segregator.html">segregator</a> has. <a href="structfoonathan_1_1memory_1_1segregator__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1set.html">set</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1set.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1set__node__size.html">set_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1set__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1set__scoped__alloc.html">set_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1set__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1shared__ptr__node__size.html">shared_ptr_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1shared__ptr__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1small__node__pool.html">small_node_pool</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag type defining a memory pool optimized for small nodes. <a href="structfoonathan_1_1memory_1_1small__node__pool.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1stack.html">stack</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1stack.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1stack__scoped__alloc.html">stack_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1stack__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1static__allocator.html">static_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that uses a fixed sized storage for the allocations. <a href="classfoonathan_1_1memory_1_1static__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1static__allocator__storage.html">static_allocator_storage</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Storage for a <a class="el" href="classfoonathan_1_1memory_1_1static__allocator.html">static_allocator</a>. <a href="structfoonathan_1_1memory_1_1static__allocator__storage.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1static__block__allocator.html">static_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> that allocates the blocks from a fixed size storage. <a href="classfoonathan_1_1memory_1_1static__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1std__allocator.html">std_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> and makes it a "normal" <code>Allocator</code>. <a href="classfoonathan_1_1memory_1_1std__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1string.html">string</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1string.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1temporary__allocator.html">temporary_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateful <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that handles temporary allocations. <a href="classfoonathan_1_1memory_1_1temporary__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper around the <a class="el" href="classfoonathan_1_1memory_1_1memory__stack.html">memory_stack</a> that is used by the <a class="el" href="classfoonathan_1_1memory_1_1temporary__allocator.html">temporary_allocator</a>. <a href="classfoonathan_1_1memory_1_1temporary__stack.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1temporary__stack__initializer.html">temporary_stack_initializer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manually takes care of the lifetime of the per-thread <a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a>. <a href="classfoonathan_1_1memory_1_1temporary__stack__initializer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1thread__safe__allocator.html">thread_safe_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias template for <a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a> using the <a class="el" href="classfoonathan_1_1memory_1_1direct__storage.html">direct_storage</a> policy with a mutex. <a href="classfoonathan_1_1memory_1_1thread__safe__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1threshold__segregatable.html">threshold_segregatable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_segregatable">Segregatable</a> that allocates until a maximum size. <a href="classfoonathan_1_1memory_1_1threshold__segregatable.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1tracked__allocator.html">tracked_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> adapter that tracks another allocator using a <a href="md_doc_concepts.html#concept_tracker">tracker</a>. <a href="classfoonathan_1_1memory_1_1tracked__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1tracked__block__allocator.html">tracked_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> adapter that tracks another allocator using a <a href="md_doc_concepts.html#concept_tracker">tracker</a>. <a href="classfoonathan_1_1memory_1_1tracked__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unique__base__ptr.html">unique_base_ptr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>std::unique_ptr</code> that deletes using a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> and allows polymorphic types. <a href="classfoonathan_1_1memory_1_1unique__base__ptr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unique__ptr.html">unique_ptr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <code>std::unique_ptr</code> that deletes using a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1unique__ptr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__map.html">unordered_map</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1unordered__map.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1unordered__map__node__size.html">unordered_map_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1unordered__map__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__map__scoped__alloc.html">unordered_map_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1unordered__map__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__multimap.html">unordered_multimap</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1unordered__multimap.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1unordered__multimap__node__size.html">unordered_multimap_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1unordered__multimap__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__multimap__scoped__alloc.html">unordered_multimap_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1unordered__multimap__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__multiset.html">unordered_multiset</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1unordered__multiset.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1unordered__multiset__node__size.html">unordered_multiset_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1unordered__multiset__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__multiset__scoped__alloc.html">unordered_multiset_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1unordered__multiset__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__set.html">unordered_set</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1unordered__set.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfoonathan_1_1memory_1_1unordered__set__node__size.html">unordered_set_node_size</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the node size of a node based STL container with a specific type. <a href="structfoonathan_1_1memory_1_1unordered__set__node__size.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1unordered__set__scoped__alloc.html">unordered_set_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1unordered__set__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1vector.html">vector</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias template for an STL container that uses a certain <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="classfoonathan_1_1memory_1_1vector.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1vector__scoped__alloc.html">vector_scoped_alloc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above but uses <code>std::scoped_allocator_adaptor</code> so the allocator is inherited by all nested containers. <a href="classfoonathan_1_1memory_1_1vector__scoped__alloc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1virtual__block__allocator.html">virtual_block_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> that reserves virtual memory and commits it part by part. <a href="classfoonathan_1_1memory_1_1virtual__block__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1virtual__memory__allocator.html">virtual_memory_allocator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateless <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that allocates memory using the virtual memory allocation functions. <a href="classfoonathan_1_1memory_1_1virtual__memory__allocator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaf3a2e07eee7aa99d617b7bca7f291b7f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__storage.html#gaf3a2e07eee7aa99d617b7bca7f291b7f">any_reference_storage</a> = <a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a>&lt; <a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a> &gt;</td></tr>
<tr class="memdesc:gaf3a2e07eee7aa99d617b7bca7f291b7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for the <a class="el" href="classfoonathan_1_1memory_1_1reference__storage.html">reference_storage</a> specialization using type-erasure. <a href="group__storage.html#gaf3a2e07eee7aa99d617b7bca7f291b7f">More...</a><br /></td></tr>
<tr class="separator:gaf3a2e07eee7aa99d617b7bca7f291b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1c9e1ac28f3b638ec7d0fcbd5c0fae7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__storage.html#gac1c9e1ac28f3b638ec7d0fcbd5c0fae7">any_allocator_reference</a> = <a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a>&lt; <a class="el" href="group__storage.html#gaf3a2e07eee7aa99d617b7bca7f291b7f">any_reference_storage</a>, <a class="el" href="structfoonathan_1_1memory_1_1no__mutex.html">no_mutex</a> &gt;</td></tr>
<tr class="memdesc:gac1c9e1ac28f3b638ec7d0fcbd5c0fae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">An alias for <a class="el" href="classfoonathan_1_1memory_1_1allocator__storage.html">allocator_storage</a> using the <a class="el" href="group__storage.html#gaf3a2e07eee7aa99d617b7bca7f291b7f">any_reference_storage</a>. <a href="group__storage.html#gac1c9e1ac28f3b638ec7d0fcbd5c0fae7">More...</a><br /></td></tr>
<tr class="separator:gac1c9e1ac28f3b638ec7d0fcbd5c0fae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9a31890ea6cb62d78938b43c9a496fa"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a> = void(*)(const <a class="el" href="structfoonathan_1_1memory_1_1allocator__info.html">allocator_info</a> &amp;info, std::ptrdiff_t amount)</td></tr>
<tr class="memdesc:gac9a31890ea6cb62d78938b43c9a496fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the handler called when a memory leak is detected. <a href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">More...</a><br /></td></tr>
<tr class="separator:gac9a31890ea6cb62d78938b43c9a496fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7055c92f3a0acf2f41d2090b7c1a5074"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a> = void(*)(const <a class="el" href="structfoonathan_1_1memory_1_1allocator__info.html">allocator_info</a> &amp;info, const void *ptr)</td></tr>
<tr class="memdesc:ga7055c92f3a0acf2f41d2090b7c1a5074"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the handler called when an invalid pointer is passed to a deallocation function. <a href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">More...</a><br /></td></tr>
<tr class="separator:ga7055c92f3a0acf2f41d2090b7c1a5074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga055130bf52afd8d252a58ba57eb19799"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a> = void(*)(const void *memory, std::size_t size, const void *write_ptr)</td></tr>
<tr class="memdesc:ga055130bf52afd8d252a58ba57eb19799"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the handler called when a buffer under/overflow is detected. <a href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">More...</a><br /></td></tr>
<tr class="separator:ga055130bf52afd8d252a58ba57eb19799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10acce2d854fc42fea7306e511d9cd10"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga10acce2d854fc42fea7306e511d9cd10">default_allocator</a> = FOONATHAN_IMPL_DEFINED(FOONATHAN_MEMORY_IMPL_DEFAULT_ALLOCATOR)</td></tr>
<tr class="memdesc:ga10acce2d854fc42fea7306e511d9cd10"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that will be used as <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> in memory arenas. <a href="group__allocator.html#ga10acce2d854fc42fea7306e511d9cd10">More...</a><br /></td></tr>
<tr class="separator:ga10acce2d854fc42fea7306e511d9cd10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22bca7a15392be2aa9be773d838ec4f4"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga22bca7a15392be2aa9be773d838ec4f4">heap_allocator</a> = FOONATHAN_IMPL_DEFINED(detail::lowlevel_allocator&lt; detail::heap_allocator_impl &gt;)</td></tr>
<tr class="memdesc:ga22bca7a15392be2aa9be773d838ec4f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateless <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that allocates memory from the heap. <a href="group__allocator.html#ga22bca7a15392be2aa9be773d838ec4f4">More...</a><br /></td></tr>
<tr class="separator:ga22bca7a15392be2aa9be773d838ec4f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68aa7bcdc0cdca86cc4da46d5ed16c16"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga68aa7bcdc0cdca86cc4da46d5ed16c16">malloc_allocator</a> = FOONATHAN_IMPL_DEFINED(detail::lowlevel_allocator&lt; detail::malloc_allocator_impl &gt;)</td></tr>
<tr class="memdesc:ga68aa7bcdc0cdca86cc4da46d5ed16c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateless <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that allocates memory using <code>std::malloc()</code>. <a href="group__allocator.html#ga68aa7bcdc0cdca86cc4da46d5ed16c16">More...</a><br /></td></tr>
<tr class="separator:ga68aa7bcdc0cdca86cc4da46d5ed16c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1ce941b1306a592d4ebba1167fd98aa"><td class="memTemplParams" colspan="2">template&lt;class BlockOrRawAllocator , template&lt; typename... &gt; class BlockAllocator = detail::default_block_wrapper&gt; </td></tr>
<tr class="memitem:gaf1ce941b1306a592d4ebba1167fd98aa"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__core.html#gaf1ce941b1306a592d4ebba1167fd98aa">make_block_allocator_t</a> = FOONATHAN_IMPL_DEFINED(typename std::conditional&lt; <a class="el" href="structfoonathan_1_1memory_1_1is__block__allocator.html">is_block_allocator</a>&lt; BlockOrRawAllocator &gt;::value, BlockOrRawAllocator, BlockAllocator&lt; BlockOrRawAllocator &gt; &gt;::type)</td></tr>
<tr class="memdesc:gaf1ce941b1306a592d4ebba1167fd98aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes either a <a href="md_doc_concepts.html#concept_blockallocator">BlockAllocator</a> or a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a>. <a href="group__core.html#gaf1ce941b1306a592d4ebba1167fd98aa">More...</a><br /></td></tr>
<tr class="separator:gaf1ce941b1306a592d4ebba1167fd98aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0203ba3d8ef46a65c504a6c98e3f7bb5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga0203ba3d8ef46a65c504a6c98e3f7bb5">new_allocator</a> = FOONATHAN_IMPL_DEFINED(detail::lowlevel_allocator&lt; detail::new_allocator_impl &gt;)</td></tr>
<tr class="memdesc:ga0203ba3d8ef46a65c504a6c98e3f7bb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stateless <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that allocates memory using (nothrow) <code>operator new</code>. <a href="group__allocator.html#ga0203ba3d8ef46a65c504a6c98e3f7bb5">More...</a><br /></td></tr>
<tr class="separator:ga0203ba3d8ef46a65c504a6c98e3f7bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fccf7950ead6f37a7360fe08da0ab31"><td class="memTemplParams" colspan="2">template&lt;class Tracker , class BlockOrRawAllocator &gt; </td></tr>
<tr class="memitem:ga1fccf7950ead6f37a7360fe08da0ab31"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#ga1fccf7950ead6f37a7360fe08da0ab31">deeply_tracked_block_allocator</a> = FOONATHAN_IMPL_DEFINED(detail::deeply_tracked_block_allocator&lt; Tracker, <a class="el" href="group__core.html#gaf1ce941b1306a592d4ebba1167fd98aa">make_block_allocator_t</a>&lt; BlockOrRawAllocator &gt; &gt;)</td></tr>
<tr class="memdesc:ga1fccf7950ead6f37a7360fe08da0ab31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to <a class="el" href="classfoonathan_1_1memory_1_1tracked__block__allocator.html">tracked_block_allocator</a>, but shares the tracker with the higher level allocator. <a href="group__adapter.html#ga1fccf7950ead6f37a7360fe08da0ab31">More...</a><br /></td></tr>
<tr class="separator:ga1fccf7950ead6f37a7360fe08da0ab31"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gab1db4d7ca0241d511710324c01f27b23"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gab1db4d7ca0241d511710324c01f27b23">debug_magic</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23a7bd4be20559c1a287369c8df4c117afe">internal_memory</a>,
<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23aa5c32a0fcc06d646d53c71b55c9cf5cb">internal_freed_memory</a>,
<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23a9e1988b82181dbe51272459a8ac8e0c0">new_memory</a>,
<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23a635e5f9da5635b909461fd93c09130ed">freed_memory</a>,
<br />
&#160;&#160;<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23a682318fff515ed43a48b718f46c21308">alignment_memory</a>,
<a class="el" href="group__core.html#ggab1db4d7ca0241d511710324c01f27b23a99ec421b05ddc9b5565897f6a0cfb360">fence_memory</a>
<br />
}</td></tr>
<tr class="memdesc:gab1db4d7ca0241d511710324c01f27b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">The magic values that are used for debug filling. <a href="group__core.html#gab1db4d7ca0241d511710324c01f27b23">More...</a><br /></td></tr>
<tr class="separator:gab1db4d7ca0241d511710324c01f27b23"><td class="memSeparator" colspan="2">&#160;</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:gac5415329fb8f760eed33cb0f9a8eaed5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gac5415329fb8f760eed33cb0f9a8eaed5">set_leak_handler</a> (<a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a> h)</td></tr>
<tr class="memdesc:gac5415329fb8f760eed33cb0f9a8eaed5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exchanges the <a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a>. <a href="group__core.html#gac5415329fb8f760eed33cb0f9a8eaed5">More...</a><br /></td></tr>
<tr class="separator:gac5415329fb8f760eed33cb0f9a8eaed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32882ffa8bd8feafe3334e7b9b6ca8c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#ga32882ffa8bd8feafe3334e7b9b6ca8c6">get_leak_handler</a> ()</td></tr>
<tr class="memdesc:ga32882ffa8bd8feafe3334e7b9b6ca8c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="group__core.html#gac9a31890ea6cb62d78938b43c9a496fa">leak_handler</a>. <a href="group__core.html#ga32882ffa8bd8feafe3334e7b9b6ca8c6">More...</a><br /></td></tr>
<tr class="separator:ga32882ffa8bd8feafe3334e7b9b6ca8c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad22a929516dd5a2e9e326f2c5c8326df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gad22a929516dd5a2e9e326f2c5c8326df">set_invalid_pointer_handler</a> (<a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a> h)</td></tr>
<tr class="memdesc:gad22a929516dd5a2e9e326f2c5c8326df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exchanges the <a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a>. <a href="group__core.html#gad22a929516dd5a2e9e326f2c5c8326df">More...</a><br /></td></tr>
<tr class="separator:gad22a929516dd5a2e9e326f2c5c8326df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3fa468c245a855bb39074df3d74ff95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gac3fa468c245a855bb39074df3d74ff95">get_invalid_pointer_handler</a> ()</td></tr>
<tr class="memdesc:gac3fa468c245a855bb39074df3d74ff95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="group__core.html#ga7055c92f3a0acf2f41d2090b7c1a5074">invalid_pointer_handler</a>. <a href="group__core.html#gac3fa468c245a855bb39074df3d74ff95">More...</a><br /></td></tr>
<tr class="separator:gac3fa468c245a855bb39074df3d74ff95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad786a5a56d768a5be1e13a769ea19f74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#gad786a5a56d768a5be1e13a769ea19f74">set_buffer_overflow_handler</a> (<a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a> h)</td></tr>
<tr class="memdesc:gad786a5a56d768a5be1e13a769ea19f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exchanges the <a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a>. <a href="group__core.html#gad786a5a56d768a5be1e13a769ea19f74">More...</a><br /></td></tr>
<tr class="separator:gad786a5a56d768a5be1e13a769ea19f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f6771bda16c1cd6da0c456c28415774"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__core.html#ga7f6771bda16c1cd6da0c456c28415774">get_buffer_overflow_handler</a> ()</td></tr>
<tr class="memdesc:ga7f6771bda16c1cd6da0c456c28415774"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="group__core.html#ga055130bf52afd8d252a58ba57eb19799">buffer_overflow_handler</a>. <a href="group__core.html#ga7f6771bda16c1cd6da0c456c28415774">More...</a><br /></td></tr>
<tr class="separator:ga7f6771bda16c1cd6da0c456c28415774"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5885acea415a00882faec13d22978983"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga5885acea415a00882faec13d22978983">heap_alloc</a> (std::size_t size) noexcept</td></tr>
<tr class="memdesc:ga5885acea415a00882faec13d22978983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates heap memory. <a href="group__allocator.html#ga5885acea415a00882faec13d22978983">More...</a><br /></td></tr>
<tr class="separator:ga5885acea415a00882faec13d22978983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b7f86f6fec61479a0014fd70f661a6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga4b7f86f6fec61479a0014fd70f661a6c">heap_dealloc</a> (void *ptr, std::size_t size) noexcept</td></tr>
<tr class="memdesc:ga4b7f86f6fec61479a0014fd70f661a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocates heap memory. <a href="group__allocator.html#ga4b7f86f6fec61479a0014fd70f661a6c">More...</a><br /></td></tr>
<tr class="separator:ga4b7f86f6fec61479a0014fd70f661a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf2bfe81b19f8ddc2cdc693143c65512"><td class="memTemplParams" colspan="2">template&lt;class RawAllocator &gt; </td></tr>
<tr class="memitem:aaf2bfe81b19f8ddc2cdc693143c65512"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classfoonathan_1_1memory_1_1threshold__segregatable.html">threshold_segregatable</a>&lt; typename std::decay&lt; RawAllocator &gt;::type &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacefoonathan_1_1memory.html#aaf2bfe81b19f8ddc2cdc693143c65512">threshold</a> (std::size_t max_size, RawAllocator &amp;&amp;alloc)</td></tr>
<tr class="separator:aaf2bfe81b19f8ddc2cdc693143c65512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae97e26711df44cb2208bc08bc3877aa8"><td class="memTemplParams" colspan="2">template&lt;typename T , class RawAllocator , typename... Args&gt; </td></tr>
<tr class="memitem:gae97e26711df44cb2208bc08bc3877aa8"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#gae97e26711df44cb2208bc08bc3877aa8">allocate_unique</a> (RawAllocator &amp;&amp;alloc, Args &amp;&amp;... args) -&gt; FOONATHAN_REQUIRES_RET(!std::is_array&lt; T &gt;::value, std::unique_ptr&lt; T, <a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a>&lt; T, typename std::decay&lt; RawAllocator &gt;::type &gt;&gt;)</td></tr>
<tr class="memdesc:gae97e26711df44cb2208bc08bc3877aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <code>std::unique_ptr</code> using a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for the allocation. <a href="group__adapter.html#gae97e26711df44cb2208bc08bc3877aa8">More...</a><br /></td></tr>
<tr class="separator:gae97e26711df44cb2208bc08bc3877aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f1df5be6a57b1ccd73cbc719487e7f8"><td class="memTemplParams" colspan="2">template&lt;typename T , class RawAllocator , typename... Args&gt; </td></tr>
<tr class="memitem:ga5f1df5be6a57b1ccd73cbc719487e7f8"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#ga5f1df5be6a57b1ccd73cbc719487e7f8">allocate_unique</a> (<a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a>, RawAllocator &amp;&amp;alloc, Args &amp;&amp;... args) -&gt; FOONATHAN_REQUIRES_RET(!std::is_array&lt; T &gt;::value, std::unique_ptr&lt; T, <a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a>&lt; T, <a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a> &gt;&gt;)</td></tr>
<tr class="memdesc:ga5f1df5be6a57b1ccd73cbc719487e7f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <code>std::unique_ptr</code> using a type-erased <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for the allocation. <a href="group__adapter.html#ga5f1df5be6a57b1ccd73cbc719487e7f8">More...</a><br /></td></tr>
<tr class="separator:ga5f1df5be6a57b1ccd73cbc719487e7f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c63aa9dbdbb2e7770b565774373c18a"><td class="memTemplParams" colspan="2">template&lt;typename T , class RawAllocator &gt; </td></tr>
<tr class="memitem:ga2c63aa9dbdbb2e7770b565774373c18a"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#ga2c63aa9dbdbb2e7770b565774373c18a">allocate_unique</a> (RawAllocator &amp;&amp;alloc, std::size_t size) -&gt; FOONATHAN_REQUIRES_RET(std::is_array&lt; T &gt;::value, std::unique_ptr&lt; T, <a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a>&lt; T, typename std::decay&lt; RawAllocator &gt;::type &gt;&gt;)</td></tr>
<tr class="memdesc:ga2c63aa9dbdbb2e7770b565774373c18a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <code>std::unique_ptr</code> owning an array using a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for the allocation. <a href="group__adapter.html#ga2c63aa9dbdbb2e7770b565774373c18a">More...</a><br /></td></tr>
<tr class="separator:ga2c63aa9dbdbb2e7770b565774373c18a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f0af0321f556ec2cc36e9078928656"><td class="memTemplParams" colspan="2">template&lt;typename T , class RawAllocator &gt; </td></tr>
<tr class="memitem:gab2f0af0321f556ec2cc36e9078928656"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#gab2f0af0321f556ec2cc36e9078928656">allocate_unique</a> (<a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a>, RawAllocator &amp;&amp;alloc, std::size_t size) -&gt; FOONATHAN_REQUIRES_RET(std::is_array&lt; T &gt;::value, std::unique_ptr&lt; T, <a class="el" href="classfoonathan_1_1memory_1_1allocator__deleter.html">allocator_deleter</a>&lt; T, <a class="el" href="structfoonathan_1_1memory_1_1any__allocator.html">any_allocator</a> &gt;&gt;)</td></tr>
<tr class="memdesc:gab2f0af0321f556ec2cc36e9078928656"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <code>std::unique_ptr</code> owning an array using a type-erased <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for the allocation. <a href="group__adapter.html#gab2f0af0321f556ec2cc36e9078928656">More...</a><br /></td></tr>
<tr class="separator:gab2f0af0321f556ec2cc36e9078928656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5becad5eeaeb066f681396d4573216ab"><td class="memTemplParams" colspan="2">template&lt;typename T , class RawAllocator , typename... Args&gt; </td></tr>
<tr class="memitem:ga5becad5eeaeb066f681396d4573216ab"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__adapter.html#ga5becad5eeaeb066f681396d4573216ab">allocate_shared</a> (RawAllocator &amp;&amp;alloc, Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:ga5becad5eeaeb066f681396d4573216ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <code>std::shared_ptr</code> using a <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> for the allocation. <a href="group__adapter.html#ga5becad5eeaeb066f681396d4573216ab">More...</a><br /></td></tr>
<tr class="separator:ga5becad5eeaeb066f681396d4573216ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f311d60d4857926d16396fc6a3be15a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacefoonathan_1_1memory.html#a7f311d60d4857926d16396fc6a3be15a">get_temporary_stack</a> (std::size_t initial_size=temporary_stack_initializer::default_stack_size)</td></tr>
<tr class="separator:a7f311d60d4857926d16396fc6a3be15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5c93e4011951142ba923ce105fd2326"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#gaf5c93e4011951142ba923ce105fd2326">virtual_memory_reserve</a> (std::size_t no_pages) noexcept</td></tr>
<tr class="memdesc:gaf5c93e4011951142ba923ce105fd2326"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves virtual memory. <a href="group__allocator.html#gaf5c93e4011951142ba923ce105fd2326">More...</a><br /></td></tr>
<tr class="separator:gaf5c93e4011951142ba923ce105fd2326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ea785698aa5c576b390e5c61c265c77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga7ea785698aa5c576b390e5c61c265c77">virtual_memory_release</a> (void *pages, std::size_t no_pages) noexcept</td></tr>
<tr class="memdesc:ga7ea785698aa5c576b390e5c61c265c77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases reserved virtual memory. <a href="group__allocator.html#ga7ea785698aa5c576b390e5c61c265c77">More...</a><br /></td></tr>
<tr class="separator:ga7ea785698aa5c576b390e5c61c265c77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga611ec17550bb9442b14ba7a25d2dcf92"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga611ec17550bb9442b14ba7a25d2dcf92">virtual_memory_commit</a> (void *memory, std::size_t no_pages) noexcept</td></tr>
<tr class="memdesc:ga611ec17550bb9442b14ba7a25d2dcf92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commits reserved virtual memory. <a href="group__allocator.html#ga611ec17550bb9442b14ba7a25d2dcf92">More...</a><br /></td></tr>
<tr class="separator:ga611ec17550bb9442b14ba7a25d2dcf92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10952511b7b0b9e0b536b92044727d45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#ga10952511b7b0b9e0b536b92044727d45">virtual_memory_decommit</a> (void *memory, std::size_t no_pages) noexcept</td></tr>
<tr class="memdesc:ga10952511b7b0b9e0b536b92044727d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decommits commited virtual memory. <a href="group__allocator.html#ga10952511b7b0b9e0b536b92044727d45">More...</a><br /></td></tr>
<tr class="separator:ga10952511b7b0b9e0b536b92044727d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gafee5129a1877dc067703d7b24d00035c"><td class="memItemLeft" align="right" valign="top">const std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__allocator.html#gafee5129a1877dc067703d7b24d00035c">virtual_memory_page_size</a></td></tr>
<tr class="memdesc:gafee5129a1877dc067703d7b24d00035c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The page size of the virtual memory. <a href="group__allocator.html#gafee5129a1877dc067703d7b24d00035c">More...</a><br /></td></tr>
<tr class="separator:gafee5129a1877dc067703d7b24d00035c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Memory namespace. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="aaf2bfe81b19f8ddc2cdc693143c65512"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf2bfe81b19f8ddc2cdc693143c65512">&#9670;&nbsp;</a></span>threshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfoonathan_1_1memory_1_1threshold__segregatable.html">threshold_segregatable</a>&lt;typename std::decay&lt;RawAllocator&gt;::type&gt; foonathan::memory::threshold </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>max_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">RawAllocator &amp;&amp;&#160;</td>
<td class="paramname"><em>alloc</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Returns:</dt><dd>A <a class="el" href="classfoonathan_1_1memory_1_1threshold__segregatable.html">threshold_segregatable</a> with the same parameter. </dd></dl>
</div>
</div>
<a id="a7f311d60d4857926d16396fc6a3be15a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f311d60d4857926d16396fc6a3be15a">&#9670;&nbsp;</a></span>get_temporary_stack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a> &amp; get_temporary_stack </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>initial_size</em> = <code>temporary_stack_initializer::default_stack_size</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Effects:</dt><dd>Creates the per-thread <a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a> with the given initial size, if it wasn't already created. </dd></dl>
<dl class="section user"><dt>Returns:</dt><dd>The per-thread <a class="el" href="classfoonathan_1_1memory_1_1temporary__stack.html">temporary_stack</a>. </dd></dl>
<dl class="section user"><dt>Requires:</dt><dd>There must be a per-thread temporary stack (<a class="el" href="group__allocator.html#ga49bf0d04a94c18512ef2890157412b71">FOONATHAN_MEMORY_TEMPORARY_STACK_MODE</a> must not be equal to <code>0</code>). </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If <a class="el" href="group__allocator.html#ga49bf0d04a94c18512ef2890157412b71">FOONATHAN_MEMORY_TEMPORARY_STACK_MODE</a> is equal to <code>1</code>, this function can create the temporary stack. But if there is no <a class="el" href="classfoonathan_1_1memory_1_1temporary__stack__initializer.html">temporary_stack_initializer</a>, it won't be destroyed. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.16-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
1
https://gitee.com/mobangjack/memory.git
git@gitee.com:mobangjack/memory.git
mobangjack
memory
memory
gh-pages

搜索帮助