📄 a00473.html
字号:
<td>(</td>
<td class="paramtype"><a class="el" href="a00478.html">VisitorType</a> & </td>
<td class="paramname"> <em>visitor</em> </td>
<td> ) </td>
<td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This kind of visitation may cause the visitor to replace the currently visited element with a new element.
</div>
</div><p>
<a class="anchor" name="a64a4730105d68cd1bcbac876788b3d9"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::accept_visitor" ref="a64a4730105d68cd1bcbac876788b3d9" args="(VisitorType &visitor)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::accept_visitor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00478.html">VisitorType</a> & </td>
<td class="paramname"> <em>visitor</em> </td>
<td> ) </td>
<td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Standard way to supply a visitor to the queue - this will invoke visit_element(T* element) on the supplied visitor object once for each element in this BasicQueue<T> object, in order. The visitor can stop visitation early by returning 0 from its visit_element(T* element) method.
</div>
</div><p>
<a class="anchor" name="49b1a37f860a972a4490d3ca902da66e"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::get" ref="49b1a37f860a972a4490d3ca902da66e" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">virtual T* <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::get </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Extract the top element from the queue. Returns 0 if there are no elements in the queue.
</div>
</div><p>
<a class="anchor" name="3dfe28f6b27febd272aa07d8cb74529b"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::peek" ref="3dfe28f6b27febd272aa07d8cb74529b" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">virtual T* <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::peek </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Peek at the element at the top of the queue. This is just like the <a class="el" href="a00473.html#49b1a37f860a972a4490d3ca902da66e">get()</a> operation except that the queue remains intact.
</div>
</div><p>
<a class="anchor" name="fa470954dd5c0d65c189016678cf0d7a"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::put" ref="fa470954dd5c0d65c189016678cf0d7a" args="(T *elem)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">virtual int <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::put </td>
<td>(</td>
<td class="paramtype">T * </td>
<td class="paramname"> <em>elem</em> </td>
<td> ) </td>
<td width="100%"><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Put a pointer to an element (T*) on to the queue.
<p>
</div>
</div><p>
<a class="anchor" name="3654263b18087e568e01654444362b16"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::remove_next" ref="3654263b18087e568e01654444362b16" args="(LinkType *prev)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::remove_next </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00474.html">LinkType</a> * </td>
<td class="paramname"> <em>prev</em> </td>
<td> ) </td>
<td width="100%"><code> [inline, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Used by our <a class="el" href="a00473.html#2932810b6bcfeec9856260a36676aaa7">accept_remove_visitor()</a> method when an element needs to be removed from this BasicQueue<T> object. The element that is supposed to be removed is the next() link object of the supplied "prev" link object. It's done this way so that the (singlely) linked-list can be stitched back together after the appropriate link has been removed.
</div>
</div><p>
<a class="anchor" name="eb7bac6f0daca9a10c4304088f9be3af"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::size" ref="eb7bac6f0daca9a10c4304088f9be3af" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::size </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Accessor for the current number of elements in the queue.
<p>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="b6ec4225b1077e5dde9b75de9cb928d4"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::head_" ref="b6ec4225b1077e5dde9b75de9cb928d4" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00474.html">LinkType</a>* <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::<a class="el" href="a00473.html#b6ec4225b1077e5dde9b75de9cb928d4">head_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The first (oldest) link in the queue.
<p>
</div>
</div><p>
<a class="anchor" name="04c7a83dafc94ba318a1e3d092968cf4"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::pool_" ref="04c7a83dafc94ba318a1e3d092968cf4" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00477.html">PoolType</a> <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::<a class="el" href="a00473.html#04c7a83dafc94ba318a1e3d092968cf4">pool_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The pool of precreated LinkType objects (a "self-growing" allocator is used by the pool).
</div>
</div><p>
<a class="anchor" name="5dee60fad0a97d75d65fcaed6b34bb92"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::size_" ref="5dee60fad0a97d75d65fcaed6b34bb92" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::<a class="el" href="a00473.html#5dee60fad0a97d75d65fcaed6b34bb92">size_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The number of links currently in the queue.
<p>
</div>
</div><p>
<a class="anchor" name="344724d49c4176a3f5985a6e2ede0e1b"></a><!-- doxytag: member="OpenDDS::DCPS::BasicQueue::tail_" ref="344724d49c4176a3f5985a6e2ede0e1b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename T> </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00474.html">LinkType</a>* <a class="el" href="a00473.html">OpenDDS::DCPS::BasicQueue</a>< T >::<a class="el" href="a00473.html#344724d49c4176a3f5985a6e2ede0e1b">tail_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The last (newest) link in the queue.
<p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00785.html">BasicQueue_T.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Nov 7 09:37:40 2008 for OpenDDS by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -