代码拉取完成,页面将自动刷新
<!-- 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: joint_allocator Class 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><li class="navelem"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Member Functions</a> </div>
<div class="headertitle">
<div class="title">joint_allocator Class Reference<div class="ingroups"><a class="el" href="group__allocator.html">Allocator implementations</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A <a href="md_doc_concepts.html#concept_rawallocator">RawAllocator</a> that uses the additional joint memory for its allocation. </p>
<p>It is somewhat limited and allows only allocation once. All joint allocators for an object share the joint memory and must not be used in multiple threads. The memory it returns is owned by a <a class="el" href="classfoonathan_1_1memory_1_1joint__ptr.html">joint_ptr</a> and will be destroyed through it. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Member Functions</h2></td></tr>
<tr class="memitem:acae66366d65f52af062059302c2160b8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
<tr class="memitem:acae66366d65f52af062059302c2160b8"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html#acae66366d65f52af062059302c2160b8">joint_allocator</a> (<a class="el" href="classfoonathan_1_1memory_1_1joint__type.html">joint_type</a>< T > &j) noexcept</td></tr>
<tr class="separator:acae66366d65f52af062059302c2160b8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a92b7b2dc51d458a48f7304f66b41bac2"><td class="memItemLeft" align="right" valign="top"><a id="a92b7b2dc51d458a48f7304f66b41bac2"></a>
 </td><td class="memItemRight" valign="bottom"><b>joint_allocator</b> (const <a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> &other) noexcept=default</td></tr>
<tr class="separator:a92b7b2dc51d458a48f7304f66b41bac2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a91341f15b67759a30a2eaa16e36a27e4"><td class="memItemLeft" align="right" valign="top"><a id="a91341f15b67759a30a2eaa16e36a27e4"></a>
<a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> &other) noexcept=default</td></tr>
<tr class="separator:a91341f15b67759a30a2eaa16e36a27e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa0774f4f3278b78aab48272657c8da07"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html#aa0774f4f3278b78aab48272657c8da07">allocate_node</a> (std::size_t size, std::size_t alignment)</td></tr>
<tr class="separator:aa0774f4f3278b78aab48272657c8da07"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a225d8a06b5a2308ae78a363bd9e2d239"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html#a225d8a06b5a2308ae78a363bd9e2d239">deallocate_node</a> (void *ptr, std::size_t size, std::size_t) noexcept</td></tr>
<tr class="separator:a225d8a06b5a2308ae78a363bd9e2d239"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Constructors</h2>
<a id="acae66366d65f52af062059302c2160b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acae66366d65f52af062059302c2160b8">◆ </a></span>joint_allocator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfoonathan_1_1memory_1_1joint__allocator.html">joint_allocator</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classfoonathan_1_1memory_1_1joint__type.html">joint_type</a>< T > & </td>
<td class="paramname"><em>j</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Effects:</dt><dd>Creates it using the joint memory of the given object. </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Functions</h2>
<a id="aa0774f4f3278b78aab48272657c8da07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0774f4f3278b78aab48272657c8da07">◆ </a></span>allocate_node()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* allocate_node </td>
<td>(</td>
<td class="paramtype">std::size_t </td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t </td>
<td class="paramname"><em>alignment</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Effects:</dt><dd>Allocates a node with given properties. </dd></dl>
<dl class="section user"><dt>Returns:</dt><dd>A pointer to the new node. </dd></dl>
<dl class="section user"><dt>Throws:</dt><dd><a class="el" href="classfoonathan_1_1memory_1_1out__of__fixed__memory.html">out_of_fixed_memory</a> exception if this function has been called for a second time or the joint memory block is exhausted. </dd></dl>
</div>
</div>
<a id="a225d8a06b5a2308ae78a363bd9e2d239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a225d8a06b5a2308ae78a363bd9e2d239">◆ </a></span>deallocate_node()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void deallocate_node </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t </td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t </td>
<td class="paramname"> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Effects:</dt><dd>Deallocates the node, if possible. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>It is only possible if it was the last allocation. </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  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。