📄 a00475.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>OpenDDS: OpenDDS::DCPS::BasicQueueLinkAllocator< T > Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label> <u>S</u>earch for </label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul></div>
<div class="nav">
<a class="el" href="a01301.html">OpenDDS</a>::<a class="el" href="a01275.html">DCPS</a>::<a class="el" href="a00475.html">BasicQueueLinkAllocator</a></div>
<h1>OpenDDS::DCPS::BasicQueueLinkAllocator< T > Class Template Reference</h1><!-- doxytag: class="OpenDDS::DCPS::BasicQueueLinkAllocator" --><code>#include <BasicQueueLinkAllocator_T.h></code>
<p>
Collaboration diagram for OpenDDS::DCPS::BasicQueueLinkAllocator< T >:<p><center><img src="a02745.png" border="0" usemap="#a02746" alt="Collaboration graph"></center>
<map name="a02746">
<area href="a00476.html" shape="rect" coords="13,188,336,212" alt="">
<area href="a00474.html" shape="rect" coords="35,98,315,122" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="a00061.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#3b43d70190eb4fb87ec14b4879f240f3">BasicQueueLinkAllocator</a> (unsigned chunk_size, unsigned initial_chunks)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#3b43d70190eb4fb87ec14b4879f240f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#77b0a3dea1567ea7240ddfe73901c2e9">~BasicQueueLinkAllocator</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual Destructor. <a href="#77b0a3dea1567ea7240ddfe73901c2e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#520aa8ea973df211b6f2f815a803e538">malloc</a> (size_t nbytes=sizeof(<a class="el" href="a00474.html">LinkType</a>))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">malloc implementation. <a href="#520aa8ea973df211b6f2f815a803e538"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#47cc8d9ae5eed5c00830d066e94ed826">calloc</a> (size_t nbytes=sizeof(<a class="el" href="a00474.html">LinkType</a>), char initial_value= '\0')</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">calloc implementation. <a href="#47cc8d9ae5eed5c00830d066e94ed826"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#b4e73df00b36651338c5b65398ffcf06">calloc</a> (size_t n_elem, size_t elem_size, char initial_value= '\0')</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This interface not supported. <a href="#b4e73df00b36651338c5b65398ffcf06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#70d142e4b00d3c64c2e0681cfbf62c89">free</a> (void *ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">free implementation. <a href="#70d142e4b00d3c64c2e0681cfbf62c89"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00474.html">BasicQueueLink</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#43c44a46601188cb42d741d0e0e92cb6">LinkType</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00476.html">BasicQueueLinkChunk</a><<br>
T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#510345d959de71061fc663730cb161e3">ChunkType</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Cached_Mem_Pool_Node<<br>
<a class="el" href="a00474.html">LinkType</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#f8aefbc1a924478edf99f4b7c89c2bfd">NodeType</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Locked_Free_List<<br>
<a class="el" href="a00475.html#f8aefbc1a924478edf99f4b7c89c2bfd">NodeType</a>, ACE_Null_Mutex > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#f487a4bc35698b9b4df2f8597349e60c">FreeListType</a></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#92d4a58795e86144da68484055e11552">grow</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Grow by another chunk. <a href="#92d4a58795e86144da68484055e11552"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#24fe760868100eac51a89b327b065dd0">chunk_size_</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of links to allocate for each chunk. <a href="#24fe760868100eac51a89b327b065dd0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00476.html">ChunkType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#468d07d333ce22ef709d53a311792f5b">head_chunk_</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The first chunk. <a href="#468d07d333ce22ef709d53a311792f5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00476.html">ChunkType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#1ab2504e53d60bc133eb46dacc86f761">tail_chunk_</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The last chunk. <a href="#1ab2504e53d60bc133eb46dacc86f761"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00475.html#f487a4bc35698b9b4df2f8597349e60c">FreeListType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00475.html#40a7d40a151b57401baedf81d7cd0c12">free_list_</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maintain a cached memory free list. <a href="#40a7d40a151b57401baedf81d7cd0c12"></a><br></td></tr>
</table>
<h3>template<typename T><br>
class OpenDDS::DCPS::BasicQueueLinkAllocator< T ></h3>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="510345d959de71061fc663730cb161e3"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::ChunkType" ref="510345d959de71061fc663730cb161e3" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00476.html">BasicQueueLinkChunk</a><T> <a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::<a class="el" href="a00476.html">ChunkType</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="f487a4bc35698b9b4df2f8597349e60c"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::FreeListType" ref="f487a4bc35698b9b4df2f8597349e60c" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">typedef ACE_Locked_Free_List<<a class="el" href="a00475.html#f8aefbc1a924478edf99f4b7c89c2bfd">NodeType</a>, ACE_Null_Mutex> <a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::<a class="el" href="a00475.html#f487a4bc35698b9b4df2f8597349e60c">FreeListType</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="43c44a46601188cb42d741d0e0e92cb6"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::LinkType" ref="43c44a46601188cb42d741d0e0e92cb6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="a00474.html">BasicQueueLink</a><T> <a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::<a class="el" href="a00474.html">LinkType</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="f8aefbc1a924478edf99f4b7c89c2bfd"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::NodeType" ref="f8aefbc1a924478edf99f4b7c89c2bfd" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">typedef ACE_Cached_Mem_Pool_Node<<a class="el" href="a00474.html">LinkType</a> > <a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::<a class="el" href="a00475.html#f8aefbc1a924478edf99f4b7c89c2bfd">NodeType</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="3b43d70190eb4fb87ec14b4879f240f3"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::BasicQueueLinkAllocator" ref="3b43d70190eb4fb87ec14b4879f240f3" args="(unsigned chunk_size, unsigned initial_chunks)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::<a class="el" href="a00475.html">BasicQueueLinkAllocator</a> </td>
<td>(</td>
<td class="paramtype">unsigned </td>
<td class="paramname"> <em>chunk_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned </td>
<td class="paramname"> <em>initial_chunks</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor.
<p>
</div>
</div><p>
<a class="anchor" name="77b0a3dea1567ea7240ddfe73901c2e9"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::~BasicQueueLinkAllocator" ref="77b0a3dea1567ea7240ddfe73901c2e9" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="a00475.html">OpenDDS::DCPS::BasicQueueLinkAllocator</a>< T >::~<a class="el" href="a00475.html">BasicQueueLinkAllocator</a> </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Virtual Destructor.
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b4e73df00b36651338c5b65398ffcf06"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueueLinkAllocator::calloc" ref="b4e73df00b36651338c5b65398ffcf06" args="(size_t n_elem, size_t elem_size, char initial_value= '\0')" -->
<div class="memitem">
<div class="memproto">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -