Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 492

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/linked.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/linked.h File Reference</h1>
<p>Linked objects, lists, templates, and 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="a00192_source.html">ucommon/object.h</a>&gt;</code><br/>
<div class="dynheader">
Include dependency graph for linked.h:</div>
<div class="dynsection">
<div class="center"><img src="a00241.png" border="0" usemap="#ucommon_2linked_8h_map" alt=""/></div>
<map name="ucommon_2linked_8h_map" id="ucommon_2linked_8h">
<area shape="rect" id="node3" href="a00194.html" title="Various miscellaneous platform specific headers and defines." alt="" coords="396,229,599,256"/><area shape="rect" id="node26" href="a00192.html" title="A common object base class with auto&#45;pointer support." alt="" coords="236,80,417,107"/><area shape="rect" id="node29" href="a00186.html" title="Generic templates for C++." alt="" coords="183,155,385,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="a00242.png" border="0" usemap="#ucommon_2linked_8hdep_map" alt=""/></div>
<map name="ucommon_2linked_8hdep_map" id="ucommon_2linked_8hdep">
<area shape="rect" id="node3" href="a00181.html" title="Threadsafe object containers." alt="" coords="93,229,315,256"/><area shape="rect" id="node5" href="a00204.html" title="Top level include file for the GNU uCommon C++ core library." alt="" coords="635,453,827,480"/><area shape="rect" id="node9" href="a00187.html" title="Parsing of config files that have keyword/value pairs." alt="" coords="149,155,341,181"/><area shape="rect" id="node12" href="a00189.html" title="Support for memory mapped objects." alt="" coords="339,229,520,256"/><area shape="rect" id="node15" href="a00190.html" title="Private heaps, pools, and associations." alt="" coords="467,80,648,107"/><area shape="rect" id="node43" href="a00198.html" title="Common socket class and address manipulation." alt="" coords="1029,229,1211,256"/><area shape="rect" id="node49" href="a00203.html" title="Realtime timers and timer queues." alt="" coords="844,80,1025,107"/><area shape="rect" id="node7" href="a00196.html" title="This library holds basic cryptographic functions and secure socket support for use..." alt="" coords="640,528,821,555"/><area shape="rect" id="node19" href="a00197.html" title="Generic shell parsing and application services." alt="" coords="645,379,816,405"/><area shape="rect" id="node22" href="a00202.html" title="Thread classes and sychronization objects." alt="" coords="675,155,856,181"/><area shape="rect" id="node25" href="a00185.html" title="Thread&#45;aware file system manipulation class." alt="" coords="701,229,864,256"/><area shape="rect" id="node32" href="a00200.html" title="Any ucommon streaming classes that are built from std::streamio facilities and that..." alt="" coords="952,304,1133,331"/><area shape="rect" id="node39" href="a00206.html" title="Basic array and reusable object factory heap support." alt="" coords="1000,379,1181,405"/><area shape="rect" id="node27" href="a00180.html" title="Classes which use the buffer protocol to stream data." alt="" coords="747,304,928,331"/></map>
</div>

<p><a href="a00188_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="a00047.html">ucommon::DLinkedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A double-linked Object, used for certain kinds of lists.  <a href="a00047.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="a00058.html">ucommon::keylist&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template for ordered index of typed name key mapped objects.  <a href="a00058.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="a00059.html">ucommon::keymap&lt; T, M &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template class for a hash map.  <a href="a00059.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="a00062.html">ucommon::linked_pointer&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart pointer template for iterating linked lists.  <a href="a00062.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="a00064.html">ucommon::linked_value&lt; T, O &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template value class to embed data structure into a linked list.  <a href="a00064.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="a00066.html">ucommon::LinkedList</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A double linked list object.  <a href="a00066.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="a00067.html">ucommon::LinkedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common base class for all objects that can be formed into a linked list.  <a href="a00067.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="a00085.html">ucommon::multimap&lt; T, P &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Embed data objects into a multipap structured memory database.  <a href="a00085.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="a00084.html">ucommon::MultiMap</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A multipath linked list where membership is managed in multiple lists.  <a href="a00084.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="a00089.html">ucommon::named_value&lt; T, O &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template value class to embed data structure into a named list.  <a href="a00089.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="a00090.html">ucommon::NamedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A linked object base class with members found by name.  <a href="a00090.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="a00091.html">ucommon::NamedTree</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The named tree class is used to form a tree oriented list of associated objects.  <a href="a00091.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="a00096.html">ucommon::ObjectQueue</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A queue of double linked object.  <a href="a00096.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="a00097.html">ucommon::objfifo&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for typesafe basic object fifo container.  <a href="a00097.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="a00098.html">ucommon::objqueue&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for typesafe basic object queue container.  <a href="a00098.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="a00099.html">ucommon::objstack&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for typesafe basic object stack container.  <a href="a00099.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="a00100.html">ucommon::OrderedIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An index container for maintaining an ordered list of objects.  <a href="a00100.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="a00101.html">ucommon::OrderedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A linked object base class for ordered objects.  <a href="a00101.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="a00116.html">ucommon::ReusableObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reusable objects for forming private heaps.  <a href="a00116.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="a00166.html">ucommon::treemap&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Embed data objects into a tree structured memory database.  <a href="a00166.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="a55cc9f04e895b3ba657e38f323de222b"></a><!-- doxytag: member="linked.h::LinkedIndex" ref="a55cc9f04e895b3ba657e38f323de222b" args="" -->
typedef LinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a55cc9f04e895b3ba657e38f323de222b">ucommon::LinkedIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience typedef for root pointers of single linked lists. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a951b27e0915d54baeb935ab4bba97c06"></a><!-- doxytag: member="linked.h::objfifo_t" ref="a951b27e0915d54baeb935ab4bba97c06" args="" -->
typedef OrderedIndex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a951b27e0915d54baeb935ab4bba97c06">ucommon::objfifo_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for a fifo of linked objects. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c76f59f8bcf55c9f815c27a56e9d370"></a><!-- doxytag: member="linked.h::objqueue_t" ref="a6c76f59f8bcf55c9f815c27a56e9d370" args="" -->
typedef ObjectQueue&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a6c76f59f8bcf55c9f815c27a56e9d370">ucommon::objqueue_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for a queue of linked objects. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace8330e14d931878e7e3ea5f53c58b1c"></a><!-- doxytag: member="linked.h::objstack_t" ref="ace8330e14d931878e7e3ea5f53c58b1c" args="" -->
typedef ObjectStack&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ace8330e14d931878e7e3ea5f53c58b1c">ucommon::objstack_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for a stack of linked objects. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8e0477fafd3efe21cf1b84e6b48b6dcd">ucommon::add</a> (ObjectQueue &amp;queue, DLinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a linked object to end of queue of objects.  <a href="#a8e0477fafd3efe21cf1b84e6b48b6dcd"></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#a429ec7c4fc58d6b129a1a045ec9b0607">ucommon::add</a> (OrderedIndex &amp;fifo, LinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a linked object onto a fifo of linked objects.  <a href="#a429ec7c4fc58d6b129a1a045ec9b0607"></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#a0a43af474b84d87df26aa4998bcebb02">ucommon::add</a> (ObjectStack &amp;stack, LinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a linked object onto a stack of linked objects.  <a href="#a0a43af474b84d87df26aa4998bcebb02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DLinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae528ab66f0ead2ce1b93b502124dc370">ucommon::pop</a> (ObjectQueue &amp;queue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop a linked object from end of queue.  <a href="#ae528ab66f0ead2ce1b93b502124dc370"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4f2bab0705ec909c7719b731e95263f6">ucommon::pop</a> (OrderedIndex &amp;fifo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop a linked object from a fifo of linked objects.  <a href="#a4f2bab0705ec909c7719b731e95263f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8c39786e7fff8276be5ccaf1c962f1ce">ucommon::pop</a> (ObjectStack &amp;stack)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop a linked object from a stack of linked objects.  <a href="#a8c39786e7fff8276be5ccaf1c962f1ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DLinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#af959bb9aeb3330002e8d63ce689ed3f0">ucommon::pull</a> (ObjectQueue &amp;queue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pull a linked object from start of a queue.  <a href="#af959bb9aeb3330002e8d63ce689ed3f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3ad2ef13dd8b8e2a57ec94c1a5ae7e94">ucommon::pull</a> (OrderedIndex &amp;fifo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop a linked object from a fifo of linked objects.  <a href="#a3ad2ef13dd8b8e2a57ec94c1a5ae7e94"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LinkedObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a92e5606ebd5239e1630ee9cb75d9dc8f">ucommon::pull</a> (ObjectStack &amp;stack)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop a linked object from a stack of linked objects.  <a href="#a92e5606ebd5239e1630ee9cb75d9dc8f"></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#a82496fb437970a455fd658f8e2e68130">ucommon::push</a> (ObjectQueue &amp;queue, DLinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a linked object to start of queue.  <a href="#a82496fb437970a455fd658f8e2e68130"></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#ae3ac8809069ebf5b1297a9802bde5c9e">ucommon::push</a> (OrderedIndex &amp;fifo, LinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a linked object onto a fifo of linked objects.  <a href="#ae3ac8809069ebf5b1297a9802bde5c9e"></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#a8abd5ab2fdeb1fde645c861778cb3f24">ucommon::push</a> (ObjectStack &amp;stack, LinkedObject *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a linked object onto a stack of linked objects.  <a href="#a8abd5ab2fdeb1fde645c861778cb3f24"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Linked objects, lists, templates, and containers. </p>
<p>Common support for objects that might be organized as single and double linked lists, rings and queues, and tree oriented data structures. These generic classes may be used to help form anything from callback registration systems and indexed memory hashes to xml parsed tree nodes. </p>

<p>Definition in file <a class="el" href="a00188_source.html">linked.h</a>.</p>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:03 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>