Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 478

ucommon-doc-5.0.4-1mdv2010.2.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>ucommon: ucommon/containers.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ucommon/containers.h File Reference</h1>
<p>Threadsafe object containers.  
<a href="#_details">More...</a></p>
<code>#include &lt;<a class="el" href="a00194_source.html">ucommon/platform.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00195_source.html">ucommon/protocols.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00188_source.html">ucommon/linked.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00190_source.html">ucommon/memory.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00202_source.html">ucommon/thread.h</a>&gt;</code><br/>
<div class="dynheader">
Include dependency graph for containers.h:</div>
<div class="dynsection">
<div class="center"><img src="a00229.png" border="0" usemap="#ucommon_2containers_8h_map" alt=""/></div>
<map name="ucommon_2containers_8h_map" id="ucommon_2containers_8h">
<area shape="rect" id="node3" href="a00194.html" title="Various miscellaneous platform specific headers and defines." alt="" coords="680,453,883,480"/><area shape="rect" id="node26" href="a00195.html" title="Abstract interfaces and support." alt="" coords="227,229,437,256"/><area shape="rect" id="node29" href="a00188.html" title="Linked objects, lists, templates, and containers." alt="" coords="691,229,872,256"/><area shape="rect" id="node44" href="a00190.html" title="Private heaps, pools, and associations." alt="" coords="384,155,565,181"/><area shape="rect" id="node49" href="a00202.html" title="Thread classes and sychronization objects." alt="" coords="524,80,705,107"/><area shape="rect" id="node32" href="a00192.html" title="A common object base class with auto&#45;pointer support." alt="" coords="897,304,1079,331"/><area shape="rect" id="node35" href="a00186.html" title="Generic templates for C++." alt="" coords="920,379,1123,405"/><area shape="rect" id="node52" href="a00177.html" title="Locking classes for member function automatic operations." alt="" coords="512,304,693,331"/><area shape="rect" id="node55" href="a00203.html" title="Realtime timers and timer queues." alt="" coords="1105,155,1287,181"/></map>
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
<div class="center"><img src="a00230.png" border="0" usemap="#ucommon_2containers_8hdep_map" alt=""/></div>
<map name="ucommon_2containers_8hdep_map" id="ucommon_2containers_8hdep">
<area shape="rect" id="node3" href="a00204.html" title="Top level include file for the GNU uCommon C++ core library." alt="" coords="20,80,212,107"/><area shape="rect" id="node5" href="a00196.html" title="This library holds basic cryptographic functions and secure socket support for use..." alt="" coords="25,155,207,181"/></map>
</div>

<p><a href="a00181_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">ucommon::Buffer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A thread-safe buffer for serializing and streaming class data.  <a href="a00026.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">ucommon::bufferof&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated typed class for buffering of objects.  <a href="a00027.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">ucommon::linked_allocator&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Linked allocator template to gather linked objects.  <a href="a00061.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">ucommon::LinkedAllocator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Linked allocator helper for <a class="el" href="a00061.html" title="Linked allocator template to gather linked objects.">linked_allocator</a> template.  <a href="a00065.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html">ucommon::queue</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manage a thread-safe queue of objects through reference pointers.  <a href="a00111.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">ucommon::queueof&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated typed class for thread-safe queue of object pointers.  <a href="a00112.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html">ucommon::stack</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manage a thread-safe stack of objects through reference pointers.  <a href="a00145.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html">ucommon::stackof&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated typed class for thread-safe stack of object pointers.  <a href="a00146.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html">ucommon</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Common namespace for all ucommon objects. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcc328cd561ebe8d432a39124d4e8b7f"></a><!-- doxytag: member="containers.h::fifo_t" ref="adcc328cd561ebe8d432a39124d4e8b7f" args="" -->
typedef queue&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#adcc328cd561ebe8d432a39124d4e8b7f">ucommon::fifo_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using thread-safe object fifo (queue). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50a05c4c8e659d989525b1533cebb1ab"></a><!-- doxytag: member="containers.h::stack_t" ref="a50a05c4c8e659d989525b1533cebb1ab" args="" -->
typedef stack&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a50a05c4c8e659d989525b1533cebb1ab">ucommon::stack_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using thread-safe object stacks. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ObjectProtocol *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4d4e9fae24764d25b21fd09b7ac9ce04">ucommon::pull</a> (fifo_t &amp;fifo, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=Timer::inf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to pull an object from a fifo.  <a href="#a4d4e9fae24764d25b21fd09b7ac9ce04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">ObjectProtocol *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4aa076e73039e3c66ad07f7ca1827c8e">ucommon::pull</a> (stack_t &amp;stack, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=Timer::inf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to pull an object from a stack.  <a href="#a4aa076e73039e3c66ad07f7ca1827c8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a05a684294580146af54daf254ab68f21">ucommon::push</a> (fifo_t &amp;fifo, ObjectProtocol *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to push an object onto a fifo.  <a href="#a05a684294580146af54daf254ab68f21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a36870182251dc08e9a3eac56452d6218">ucommon::push</a> (stack_t &amp;stack, ObjectProtocol *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to push an object onto a stack.  <a href="#a36870182251dc08e9a3eac56452d6218"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ad56cf7e161bd829f5f9a325dcf3e6846">ucommon::remove</a> (fifo_t &amp;fifo, ObjectProtocol *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to remove an object from a fifo.  <a href="#ad56cf7e161bd829f5f9a325dcf3e6846"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#affa5eb1d4a61e90fb1fc3c3a65a6d849">ucommon::remove</a> (stack_t &amp;stack, ObjectProtocol *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to remove an object from a stack.  <a href="#affa5eb1d4a61e90fb1fc3c3a65a6d849"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Threadsafe object containers. </p>
<p>This is used to better define object containers and manipulating classes which can be presumed to be fully threadsafe and thread-aware. This has to be defined separately to assure correct order of preceeding headers as well as to better organize the library for clarity. Most of these classes and templates work with classes derived from Object and LinkedObject and make use of conditional for time constrained acquisition of managed objects. </p>

<p>Definition in file <a class="el" href="a00181_source.html">containers.h</a>.</p>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:38:59 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>