Sophie

Sophie

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

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 Namespace 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 class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><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="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ucommon Namespace Reference</h1>
<p>Common namespace for all ucommon objects.  
<a href="#_details">More...</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="a00014.html">array_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic smart array class.  <a href="a00014.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="a00015.html">array_reuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of reusable types.  <a href="a00015.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="a00016.html">ArrayReuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of reusable objects.  <a href="a00016.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="a00017.html">assoc_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A typed template for using a key association with typed objects.  <a href="a00017.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="a00018.html">atomic</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic atomic class for referencing atomic objects and static functions.  <a href="a00018.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="a00021.html">auto_object</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A general purpose smart pointer helper class.  <a href="a00021.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="a00022.html">auto_protect</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mutex locked object smart pointer helper class.  <a href="a00022.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="a00023.html">autorelease</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a linked list of auto-releasable objects.  <a href="a00023.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="a00024.html">barrier</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A portable implimentation of "barrier" thread sychronization.  <a href="a00024.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="a00025.html">bitmap</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to access bit fields in external bitmaps.  <a href="a00025.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="a00026.html">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">bufferof</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="a00028.html">BufferProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common buffer protocol class.  <a href="a00028.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="a00029.html">bufpager</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffered pager for storing paged strings for character protocol.  <a href="a00029.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="a00030.html">CharacterProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common character processing protocol.  <a href="a00030.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="a00031.html">charbuf</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template to create a character array that can be manipulated as a string.  <a href="a00031.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="a00032.html">charfile</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access standard files through character protocol.  <a href="a00032.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="a00033.html">cidr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to hold internet segment routing rules.  <a href="a00033.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="a00034.html">Cipher</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic data ciphering class.  <a href="a00034.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="a00036.html">Conditional</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The conditional is a common base for other thread synchronizing classes.  <a href="a00036.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="a00037.html">ConditionalAccess</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The conditional rw seperates scheduling for optizming behavior or rw locks.  <a href="a00037.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="a00038.html">ConditionalLock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optimized and convertable shared lock.  <a href="a00038.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="a00039.html">CountedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A base class for reference counted objects.  <a href="a00039.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="a00040.html">counter</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatic integer counting class.  <a href="a00040.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="a00041.html">Date</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="a00041.html" title="The Date class uses a julian date representation of the current year, month, and...">Date</a> class uses a julian date representation of the current year, month, and day.  <a href="a00041.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="a00042.html">DateNumber</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A number class that manipulates a string buffer that is also a date.  <a href="a00042.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="a00043.html">DateTime</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time.  <a href="a00043.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="a00044.html">DateTimeString</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A <a class="el" href="a00043.html" title="The Datetime class uses a julian date representation of the current year, month,...">DateTime</a> string class.  <a href="a00044.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="a00045.html">DetachedThread</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A detached thread object that is stand-alone.  <a href="a00045.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="a00046.html">Digest</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cryptographic digest class.  <a href="a00046.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="a00047.html">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="a00048.html">exclusive_lock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A kind of smart pointer object to support exclusive locking protocol.  <a href="a00048.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="a00049.html">ExclusiveProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An exclusive locking protocol interface base.  <a href="a00049.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="a00050.html">fbuf</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic file streaming class built from the buffer protocol.  <a href="a00050.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="a00051.html">filestream</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Streamable tcp connection between client and server.  <a href="a00051.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="a00052.html">fsys</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A container for generic and o/s portable threadsafe file system functions.  <a href="a00052.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="a00053.html">JoinableThread</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child thread object that may be joined by parent.  <a href="a00053.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="a00054.html">keyassoc</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to hold memory pointers referenced by string names.  <a href="a00054.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="a00055.html">keydata</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data keys parsed from a keyfile.  <a href="a00055.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="a00057.html">keyfile</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traditional keypair config file parsing class.  <a href="a00057.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">keylist</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">keymap</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="a00060.html">keypager</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template class for a hash pager.  <a href="a00060.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">linked_allocator</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="a00062.html">linked_pointer</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="a00063.html">linked_pointer&lt; struct sockaddr &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Linked pointer for address lists.  <a href="a00063.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">linked_value</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="a00065.html">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="a00066.html">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">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="a00068.html">ListenSocket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bound socket used to listen for inbound socket connections.  <a href="a00068.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="a00069.html">locked_instance</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated smart pointer instance for lock protected objects.  <a href="a00069.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="a00070.html">locked_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated locked pointer for referencing locked objects of specific type.  <a href="a00070.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="a00071.html">locked_release</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auto-pointer support class for locked objects.  <a href="a00071.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="a00072.html">LockedPointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An object pointer that uses mutex to assure thread-safe singleton use.  <a href="a00072.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="a00073.html">LockingProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common locking protocol.  <a href="a00073.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="a00074.html">mapped_array</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class to map typed vector into shared memory.  <a href="a00074.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="a00075.html">mapped_reuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template class to map typed reusable objects into shared memory heap.  <a href="a00075.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="a00076.html">mapped_view</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to access a named mapped segment published from another process.  <a href="a00076.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="a00077.html">MappedMemory</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct or access a named section of memory.  <a href="a00077.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="a00078.html">MappedReuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map a reusable allocator over a named shared memory segment.  <a href="a00078.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="a00079.html">memalloc</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A memory protocol pager for private heap manager.  <a href="a00079.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="a00080.html">MemoryRedirect</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A redirection base class for the memory protocol.  <a href="a00080.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="a00081.html">mempager</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A managed private heap for small allocations.  <a href="a00081.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="a00082.html">memstring</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A string class that uses a cstring buffer that is fixed in memory.  <a href="a00082.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="a00083.html">MemVector</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00172.html" title="A managed vector for generic object pointers.">Vector</a> with fixed size member list.  <a href="a00083.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">multimap</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">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="a00086.html">Mutex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic non-recursive exclusive lock class.  <a href="a00086.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="a00088.html">mutex_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typed smart locked pointer class.  <a href="a00088.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">named_value</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">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">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="a00092.html">Number</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A number manipulation class.  <a href="a00092.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="a00093.html">object_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typed smart pointer class.  <a href="a00093.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="a00094.html">object_value</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for embedding a data structure into a reference counted object.  <a href="a00094.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="a00095.html">ObjectProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A common base class for all managed objects.  <a href="a00095.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">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">objfifo</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">objqueue</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">objstack</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">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">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="a00102.html">paged_reuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A reusable private pool of reusable types.  <a href="a00102.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="a00103.html">pager</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mempager managed type factory for pager pool objects.  <a href="a00103.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="a00104.html">PagerObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a base class for objects that may be created in pager pools.  <a href="a00104.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="a00105.html">PagerPool</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pager pool base class for managed memory pools.  <a href="a00105.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="a00106.html">PagerReuse</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mempager source of reusable objects.  <a href="a00106.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="a00107.html">PersistEngine</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream serialization of persistent classes.  <a href="a00107.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="a00108.html">PersistObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00108.html" title="PersistObject.">PersistObject</a>.  <a href="a00108.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="a00109.html">pipestream</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Streamable tcp connection between client and server.  <a href="a00109.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="a00110.html">pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic smart pointer class.  <a href="a00110.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">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">queueof</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="a00113.html">Random</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cryptographically relevant random numbers.  <a href="a00113.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="a00114.html">RecursiveMutex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Portable recursive exclusive lock.  <a href="a00114.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="a00115.html">ReusableAllocator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for resource bound memory pools between threads.  <a href="a00115.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">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="a00117.html">sarray</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a typed sparse managed object array.  <a href="a00117.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="a00118.html">secure</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common secure socket support.  <a href="a00118.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="a00119.html">Semaphore</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A portable counting semaphore class.  <a href="a00119.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="a00120.html">SeqCounter</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatically return a sequence of untyped objects.  <a href="a00120.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="a00121.html">sequence</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template to return a sequence of objects of a specified type.  <a href="a00121.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="a00122.html">shared_instance</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated smart pointer instance for shared singleton typed objects.  <a href="a00122.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="a00123.html">shared_lock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A kind of smart pointer object to support shared locking protocol.  <a href="a00123.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="a00124.html">shared_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Templated shared pointer for singleton shared objects of specific type.  <a href="a00124.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="a00125.html">shared_release</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auto-pointer support class for shared singleton objects.  <a href="a00125.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="a00126.html">SharedObject</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shared singleton object.  <a href="a00126.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="a00127.html">SharedPointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The shared pointer is used to manage a singleton instance of shared object.  <a href="a00127.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="a00128.html">SharedProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An exclusive locking protocol interface base.  <a href="a00128.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="a00129.html">shell</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A utility class for generic shell operations.  <a href="a00129.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="a00140.html">Socket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic socket base class.  <a href="a00140.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="a00142.html">sparse_array</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A sparse array of managed objects.  <a href="a00142.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="a00143.html">SSLBuffer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Secure socket buffer.  <a href="a00143.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="a00144.html">sstream</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Secure socket using std::iostream.  <a href="a00144.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">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">stackof</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 class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html">StreamProtocol</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common stream protocol for std C++ i/o classes.  <a href="a00147.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="a00148.html">string</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A copy-on-write string class that operates by reference count.  <a href="a00148.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="a00150.html">stringbuf</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A string class that has a predefined string buffer.  <a href="a00150.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="a00151.html">TCPBuffer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic tcp socket class that offers i/o buffering.  <a href="a00151.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="a00152.html">TCPServer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic tcp server class.  <a href="a00152.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="a00153.html">tcpstream</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Streamable tcp connection between client and server.  <a href="a00153.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="a00154.html">temp_array</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manage temporary array stored on the heap.  <a href="a00154.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="a00155.html">temporary</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Manage temporary object stored on the heap.  <a href="a00155.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="a00156.html">Thread</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An abstract class for defining classes that operate as a thread.  <a href="a00156.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="a00157.html">ThreadLock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic and portable implimentation of Read/Write locking.  <a href="a00157.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="a00160.html">Time</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="a00160.html" title="The Time class uses a integer representation of the current time.">Time</a> class uses a integer representation of the current time.  <a href="a00160.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="a00161.html">TimedEvent</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event notification to manage scheduled realtime threads.  <a href="a00161.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="a00162.html">Timer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00162.html" title="Timer class to use when scheduling realtime events.">Timer</a> class to use when scheduling realtime events.  <a href="a00162.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="a00163.html">TimerQueue</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A timer queue for timer events.  <a href="a00163.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="a00165.html">toggle</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Automatically toggle a bool on each reference.  <a href="a00165.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">treemap</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 class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html">TypeManager</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type manager for persistence engine.  <a href="a00167.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="a00169.html">UString</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A copy-on-write <a class="el" href="a00170.html" title="A core class of ut8 encoded string functions.">utf8</a> string class that operates by reference count.  <a href="a00169.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="a00170.html">utf8</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A core class of ut8 encoded string functions.  <a href="a00170.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="a00171.html">utf8_pointer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to <a class="el" href="a00170.html" title="A core class of ut8 encoded string functions.">utf8</a> encoded character data.  <a href="a00171.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="a00172.html">Vector</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A managed vector for generic object pointers.  <a href="a00172.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="a00173.html">vectorbuf</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocated vector list of a specified type.  <a href="a00173.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="a00174.html">vectorof</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated vector for a list of a specific Object subtype.  <a href="a00174.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="a00175.html">XMLParser</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XML streaming parser.  <a href="a00175.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="a00176.html">ZNumber</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A number manipulation class that maintains a zero lead filled string.  <a href="a00176.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c7870419a69d08ac512ca90b2ee5c30"></a><!-- doxytag: member="ucommon::accesslock_t" ref="a3c7870419a69d08ac512ca90b2ee5c30" args="" -->
typedef <a class="el" href="a00037.html">ConditionalAccess</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3c7870419a69d08ac512ca90b2ee5c30">accesslock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for scheduling access. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4765976f498ecdf872d4984bafb681c"></a><!-- doxytag: member="ucommon::barrier_t" ref="ab4765976f498ecdf872d4984bafb681c" args="" -->
typedef <a class="el" href="a00024.html">barrier</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ab4765976f498ecdf872d4984bafb681c">barrier_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using thread barriers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a249b7f159cb1ba294206586ca8aeb4af"></a><!-- doxytag: member="ucommon::cipher_t" ref="a249b7f159cb1ba294206586ca8aeb4af" args="" -->
typedef <a class="el" href="a00034.html">Cipher</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a249b7f159cb1ba294206586ca8aeb4af">cipher_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for generic ciphers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abebfc4fdbd3f121384e37dec22d81a99"></a><!-- doxytag: member="ucommon::condlock_t" ref="abebfc4fdbd3f121384e37dec22d81a99" args="" -->
typedef <a class="el" href="a00038.html">ConditionalLock</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#abebfc4fdbd3f121384e37dec22d81a99">condlock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using conditional locks. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44e7f70fd4c04f6bfa03148c3858d154"></a><!-- doxytag: member="ucommon::counter_t" ref="a44e7f70fd4c04f6bfa03148c3858d154" args="" -->
typedef <a class="el" href="a00040.html">counter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a44e7f70fd4c04f6bfa03148c3858d154">counter_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience typecast for integer counters. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3bbcc3209f86b0c1f16939ba88c31d5"></a><!-- doxytag: member="ucommon::date_t" ref="aa3bbcc3209f86b0c1f16939ba88c31d5" args="" -->
typedef <a class="el" href="a00041.html">Date</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aa3bbcc3209f86b0c1f16939ba88c31d5">date_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using <a class="el" href="a00041.html" title="The Date class uses a julian date representation of the current year, month, and...">Date</a> object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f215febf17a332d3f8cb8aa9c19616a"></a><!-- doxytag: member="ucommon::datetime_t" ref="a1f215febf17a332d3f8cb8aa9c19616a" args="" -->
typedef <a class="el" href="a00043.html">DateTime</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a1f215febf17a332d3f8cb8aa9c19616a">datetime_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using <a class="el" href="a00043.html" title="The Datetime class uses a julian date representation of the current year, month,...">DateTime</a> object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48346b267d95efc2e141f1ac5568a22a"></a><!-- doxytag: member="ucommon::datetimestring_t" ref="a48346b267d95efc2e141f1ac5568a22a" args="" -->
typedef <a class="el" href="a00044.html">DateTimeString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a48346b267d95efc2e141f1ac5568a22a">datetimestring_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using <a class="el" href="a00044.html" title="A DateTime string class.">DateTimeString</a> object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ab875cb1e289150db2a826310049244"></a><!-- doxytag: member="ucommon::digest_t" ref="a4ab875cb1e289150db2a826310049244" args="" -->
typedef <a class="el" href="a00046.html">Digest</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4ab875cb1e289150db2a826310049244">digest_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for generic digests. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99d0265119ce8940834ef128ce145daf"></a><!-- doxytag: member="ucommon::dir_t" ref="a99d0265119ce8940834ef128ce145daf" args="" -->
typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a99d0265119ce8940834ef128ce145daf">dir_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for directory scan operations. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1b206748a4675583711dd2a60c0d435"></a><!-- doxytag: member="ucommon::exlock_t" ref="ac1b206748a4675583711dd2a60c0d435" args="" -->
typedef <a class="el" href="a00048.html">exclusive_lock</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ac1b206748a4675583711dd2a60c0d435">exlock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type to use for object referencing an exclusive object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcc328cd561ebe8d432a39124d4e8b7f"></a><!-- doxytag: member="ucommon::fifo_t" ref="adcc328cd561ebe8d432a39124d4e8b7f" args="" -->
typedef <a class="el" href="a00111.html">queue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#adcc328cd561ebe8d432a39124d4e8b7f">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="ae9f2c533c197705facf6f65b0e8bbca1"></a><!-- doxytag: member="ucommon::file_t" ref="ae9f2c533c197705facf6f65b0e8bbca1" args="" -->
typedef <a class="el" href="a00050.html">fbuf</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae9f2c533c197705facf6f65b0e8bbca1">file_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for buffered file operations. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23faf183eb888649c6c0b43a23234700"></a><!-- doxytag: member="ucommon::fsys_t" ref="a23faf183eb888649c6c0b43a23234700" args="" -->
typedef <a class="el" href="a00052.html">fsys</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a23faf183eb888649c6c0b43a23234700">fsys_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convience type for fsys. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55cc9f04e895b3ba657e38f323de222b"></a><!-- doxytag: member="ucommon::LinkedIndex" ref="a55cc9f04e895b3ba657e38f323de222b" args="" -->
typedef <a class="el" href="a00067.html">LinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a55cc9f04e895b3ba657e38f323de222b">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="a81814d8ebd1c6bd5a48b5b508f1f5193"></a><!-- doxytag: member="ucommon::mem_t" ref="a81814d8ebd1c6bd5a48b5b508f1f5193" args="" -->
typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a81814d8ebd1c6bd5a48b5b508f1f5193">mem_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for loader operations. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2398d6ff8eba53501c5c9f9546a460bb"></a><!-- doxytag: member="ucommon::mutex_t" ref="a2398d6ff8eba53501c5c9f9546a460bb" args="" -->
typedef <a class="el" href="a00086.html">Mutex</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a2398d6ff8eba53501c5c9f9546a460bb">mutex_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using exclusive mutex locks. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a232061ea2527f0bbda87fa42bcc2532c"></a><!-- doxytag: member="ucommon::NewPersistObjectFunction" ref="a232061ea2527f0bbda87fa42bcc2532c" args=")(void)" -->
typedef class <a class="el" href="a00108.html">PersistObject</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>NewPersistObjectFunction</b> )(void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a33d28433eb25dfa709ea798c8f0530"></a><!-- doxytag: member="ucommon::number_t" ref="a4a33d28433eb25dfa709ea798c8f0530" args="" -->
typedef <a class="el" href="a00092.html">Number</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4a33d28433eb25dfa709ea798c8f0530">number_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for number. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a951b27e0915d54baeb935ab4bba97c06"></a><!-- doxytag: member="ucommon::objfifo_t" ref="a951b27e0915d54baeb935ab4bba97c06" args="" -->
typedef <a class="el" href="a00100.html">OrderedIndex</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a951b27e0915d54baeb935ab4bba97c06">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="ucommon::objqueue_t" ref="a6c76f59f8bcf55c9f815c27a56e9d370" args="" -->
typedef <a class="el" href="a00096.html">ObjectQueue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a6c76f59f8bcf55c9f815c27a56e9d370">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="ucommon::objstack_t" ref="ace8330e14d931878e7e3ea5f53c58b1c" args="" -->
typedef ObjectStack&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ace8330e14d931878e7e3ea5f53c58b1c">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 class="memItemLeft" align="right" valign="top"><a class="anchor" id="afec4835fd37bc545b7d94b1c6e418846"></a><!-- doxytag: member="ucommon::rexlock_t" ref="afec4835fd37bc545b7d94b1c6e418846" args="" -->
typedef <a class="el" href="a00114.html">RecursiveMutex</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#afec4835fd37bc545b7d94b1c6e418846">rexlock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using recursive exclusive locks. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e3cf59c308d4010952a23e8a98e7053"></a><!-- doxytag: member="ucommon::rwlock_t" ref="a7e3cf59c308d4010952a23e8a98e7053" args="" -->
typedef <a class="el" href="a00157.html">ThreadLock</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7e3cf59c308d4010952a23e8a98e7053">rwlock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using read/write locks. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ee7dd630e73f3ed67f1832535ccb6c4"></a><!-- doxytag: member="ucommon::semaphore_t" ref="a3ee7dd630e73f3ed67f1832535ccb6c4" args="" -->
typedef <a class="el" href="a00119.html">Semaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3ee7dd630e73f3ed67f1832535ccb6c4">semaphore_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using counting semaphores. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43325a3985e498a2de91a046edd496ae"></a><!-- doxytag: member="ucommon::shell_t" ref="a43325a3985e498a2de91a046edd496ae" args="" -->
typedef <a class="el" href="a00129.html">shell</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a43325a3985e498a2de91a046edd496ae">shell_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type to manage and pass shell objects. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0aa2b11125533b17b59cea4e63182e37"></a><!-- doxytag: member="ucommon::shlock_t" ref="a0aa2b11125533b17b59cea4e63182e37" args="" -->
typedef <a class="el" href="a00123.html">shared_lock</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a0aa2b11125533b17b59cea4e63182e37">shlock_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type to use for object referencing a shared object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fc0e947d5804f6c146674fa3b7042c2"></a><!-- doxytag: member="ucommon::skey_t" ref="a6fc0e947d5804f6c146674fa3b7042c2" args="" -->
typedef <a class="el" href="a00035.html">Cipher::Key</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a6fc0e947d5804f6c146674fa3b7042c2">skey_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for generic cipher key. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7957cb2e582d016e409db449f3369655"></a><!-- doxytag: member="ucommon::socket" ref="a7957cb2e582d016e409db449f3369655" args="" -->
typedef <a class="el" href="a00140.html">Socket</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7957cb2e582d016e409db449f3369655">socket</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for socket. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a90521caa2bc07a3eb28dad93cbacbd"></a><!-- doxytag: member="ucommon::ssl_t" ref="a8a90521caa2bc07a3eb28dad93cbacbd" args="" -->
typedef <a class="el" href="a00143.html">SSLBuffer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8a90521caa2bc07a3eb28dad93cbacbd">ssl_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for secure socket. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50a05c4c8e659d989525b1533cebb1ab"></a><!-- doxytag: member="ucommon::stack_t" ref="a50a05c4c8e659d989525b1533cebb1ab" args="" -->
typedef <a class="el" href="a00145.html">stack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a50a05c4c8e659d989525b1533cebb1ab">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 class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00148.html">string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a9045ddbf2980f6330c065a6935f40161">String</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type when mixing std::string in old compilers that are bad with namespaces.  <a href="#a9045ddbf2980f6330c065a6935f40161"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111b48f4bb3203a18bab710b093ac628"></a><!-- doxytag: member="ucommon::string_t" ref="a111b48f4bb3203a18bab710b093ac628" args="" -->
typedef <a class="el" href="a00148.html">string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a111b48f4bb3203a18bab710b093ac628">string_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for string. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff28e825082cbb9ec24f288f210f34c6"></a><!-- doxytag: member="ucommon::strsize_t" ref="aff28e825082cbb9ec24f288f210f34c6" args="" -->
typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aff28e825082cbb9ec24f288f210f34c6">strsize_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for size of strings. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7295ce3a67171b9146b00cd7d2e8d63c"></a><!-- doxytag: member="ucommon::tcp_t" ref="a7295ce3a67171b9146b00cd7d2e8d63c" args="" -->
typedef <a class="el" href="a00151.html">TCPBuffer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7295ce3a67171b9146b00cd7d2e8d63c">tcp_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for pure tcp sockets. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6d6ad01825cd0911085b962a6ad85b4"></a><!-- doxytag: member="ucommon::tcpserv_t" ref="ab6d6ad01825cd0911085b962a6ad85b4" args="" -->
typedef <a class="el" href="a00152.html">TCPServer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>tcpserv_t</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8d4cd555819dc808ebaba1399fc1ef4"></a><!-- doxytag: member="ucommon::timedevent_t" ref="ae8d4cd555819dc808ebaba1399fc1ef4" args="" -->
typedef <a class="el" href="a00161.html">TimedEvent</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae8d4cd555819dc808ebaba1399fc1ef4">timedevent_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for using timed events. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a483fb9c3ff6160464ea641cab40f52"></a><!-- doxytag: member="ucommon::timer_t" ref="a7a483fb9c3ff6160464ea641cab40f52" args="" -->
typedef <a class="el" href="a00162.html">Timer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7a483fb9c3ff6160464ea641cab40f52">timer_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for timers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1776924d16280bf77f2bf89c066b1153"></a><!-- doxytag: member="ucommon::toggle_t" ref="a1776924d16280bf77f2bf89c066b1153" args="" -->
typedef <a class="el" href="a00165.html">toggle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a1776924d16280bf77f2bf89c066b1153">toggle_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience typecast for auto-toggled bools. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4717ae05df8d87c254e268bf1c81447e"></a><!-- doxytag: member="ucommon::TQEvent" ref="a4717ae05df8d87c254e268bf1c81447e" args="" -->
typedef <a class="el" href="a00164.html">TimerQueue::event</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4717ae05df8d87c254e268bf1c81447e">TQEvent</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for timer queue timer events. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ad62b38285d5dfd20839751626aab25c3">ucs2_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">16 bit unicode character code.  <a href="#ad62b38285d5dfd20839751626aab25c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aaa2499ef76785d12d303b525ad1a042e">ucs4_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 bit unicode character code.  <a href="#aaa2499ef76785d12d303b525ad1a042e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adca8b750ad72af446956b5a97570b53f"></a><!-- doxytag: member="ucommon::unicode_t" ref="adca8b750ad72af446956b5a97570b53f" args="" -->
typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#adca8b750ad72af446956b5a97570b53f">unicode_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resolves issues where wchar_t is not defined. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ad1cc10ef952a7614ea5a8e58c398f2"></a><!-- doxytag: member="ucommon::ustring_t" ref="a2ad1cc10ef952a7614ea5a8e58c398f2" args="" -->
typedef <a class="el" href="a00169.html">UString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a2ad1cc10ef952a7614ea5a8e58c398f2">ustring_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for <a class="el" href="a00170.html" title="A core class of ut8 encoded string functions.">utf8</a> encoded strings. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3271a380c7adf37492cce13c4586b78a"></a><!-- doxytag: member="ucommon::utf8_t" ref="a3271a380c7adf37492cce13c4586b78a" args="" -->
typedef <a class="el" href="a00171.html">utf8_pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3271a380c7adf37492cce13c4586b78a">utf8_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience type for <a class="el" href="a00171.html" title="Pointer to utf8 encoded character data.">utf8_pointer</a> strings. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae93129157a700820042111503dcee7ef"></a><!-- doxytag: member="ucommon::znumber_t" ref="ae93129157a700820042111503dcee7ef" args="" -->
typedef <a class="el" href="a00176.html">ZNumber</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae93129157a700820042111503dcee7ef">znumber_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for znumber. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7c144b60b84fc894849f5eefd967599"></a><!-- doxytag: member="ucommon::_getaddrinfo" ref="af7c144b60b84fc894849f5eefd967599" args="(struct addrinfo *addrinfo)" -->
struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#af7c144b60b84fc894849f5eefd967599">_getaddrinfo</a> (struct addrinfo *addrinfo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function for <a class="el" href="a00063.html" title="Linked pointer for address lists.">linked_pointer&lt;struct sockaddr&gt;</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3150ce1a9b0aed1a48f392b63e54876b"></a><!-- doxytag: member="ucommon::_getaddrsock" ref="a3150ce1a9b0aed1a48f392b63e54876b" args="(struct addrinfo *addrinfo)" -->
socket_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3150ce1a9b0aed1a48f392b63e54876b">_getaddrsock</a> (struct addrinfo *addrinfo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function for <a class="el" href="a00063.html" title="Linked pointer for address lists.">linked_pointer&lt;struct sockaddr&gt;</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e5d07fb26c644d1dfad1476a5b3d07b"></a><!-- doxytag: member="ucommon::_nextaddrinfo" ref="a0e5d07fb26c644d1dfad1476a5b3d07b" args="(struct addrinfo *addrinfo)" -->
struct addrinfo *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a0e5d07fb26c644d1dfad1476a5b3d07b">_nextaddrinfo</a> (struct addrinfo *addrinfo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function for <a class="el" href="a00063.html" title="Linked pointer for address lists.">linked_pointer&lt;struct sockaddr&gt;</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b231c230b9e4b568e158acadd044098"></a><!-- doxytag: member="ucommon::_STR" ref="a8b231c230b9e4b568e158acadd044098" args="(String &amp;s)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_STR</b> (<a class="el" href="a00148.html">String</a> &amp;s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#afbf255b5ca1f4a456179441d8ade34d6">_TEXT</a> (char *s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abusive compilers.  <a href="#afbf255b5ca1f4a456179441d8ade34d6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#ab2c22b12aa7bfd97947c61e7a24ffcae">abs</a> (const T &amp;value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for absolute value of a type.  <a href="#ab2c22b12aa7bfd97947c61e7a24ffcae"></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#ae40e9a29f3fd228b50f046f7d428eb6a">access</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for shared access to a conditional lock.  <a href="#ae40e9a29f3fd228b50f046f7d428eb6a"></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#ae8014d7a484399e83e7a3f66a0d34a66">access</a> (<a class="el" href="a00037.html">accesslock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to shared read schedule conditional access.  <a href="#ae8014d7a484399e83e7a3f66a0d34a66"></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#a5422fe5f7269f2606c8317e29e4147bf">access</a> (<a class="el" href="a00128.html">SharedProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to access (lock) shared object through it's protocol.  <a href="#a5422fe5f7269f2606c8317e29e4147bf"></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#a3c813dcccc3a9eec6a0da47efcac7a1f">acquire</a> (<a class="el" href="a00086.html">mutex_t</a> &amp;mutex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to acquire a mutex.  <a href="#a3c813dcccc3a9eec6a0da47efcac7a1f"></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#a8e0477fafd3efe21cf1b84e6b48b6dcd">add</a> (<a class="el" href="a00096.html">ObjectQueue</a> &amp;<a class="el" href="a00111.html">queue</a>, <a class="el" href="a00047.html">DLinkedObject</a> *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">add</a> (<a class="el" href="a00100.html">OrderedIndex</a> &amp;fifo, <a class="el" href="a00067.html">LinkedObject</a> *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">add</a> (ObjectStack &amp;<a class="el" href="a00145.html">stack</a>, <a class="el" href="a00067.html">LinkedObject</a> *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">struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a460b5a6386de45c6263462b541a9c357">addr</a> (<a class="el" href="a00141.html">socket::address</a> &amp;address)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience function to convert a socket address list into a socket address.  <a href="#a460b5a6386de45c6263462b541a9c357"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct addrinfo *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a1c6e320bbe28f9f36560b564459de846">addrinfo</a> (<a class="el" href="a00141.html">socket::address</a> &amp;address)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience function to convert a socket address list into an addrinfo.  <a href="#a1c6e320bbe28f9f36560b564459de846"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a173d631afa146912b5b78bb56381a38e">case_eq</a> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal for a specified size ignoring case.  <a href="#a173d631afa146912b5b78bb56381a38e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aed17b3db1b6589811a2f2f1567775177">case_eq</a> (char const *s1, char const *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal ignoring case.  <a href="#aed17b3db1b6589811a2f2f1567775177"></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#ac9f6f0089b3169e2d79bbf0c7777e6e5">commit</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to commit and release an exclusively locked conditional lock.  <a href="#ac9f6f0089b3169e2d79bbf0c7777e6e5"></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#af77af9c36e881ef569e2fb1bf5dca1d6">commit</a> (<a class="el" href="a00037.html">accesslock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to commit an exclusive access lock.  <a href="#af77af9c36e881ef569e2fb1bf5dca1d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00095.html">ObjectProtocol</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aa948d5926268ce79c22778bd81cc6ed9">copy</a> (<a class="el" href="a00095.html">ObjectProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to access object copy.  <a href="#aa948d5926268ce79c22778bd81cc6ed9"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a8048c8716eafab6b193a59529650db5c">dup</a> (const T &amp;object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to duplicate object pointer to heap.  <a href="#a8048c8716eafab6b193a59529650db5c"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a76247c75cc28e1e9153a2c7fcb556074"></a><!-- doxytag: member="ucommon::dup&lt; char &gt;" ref="a76247c75cc28e1e9153a2c7fcb556074" args="(const char &amp;object)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dup&lt; char &gt;</b> (const char &amp;object)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a4a3550c643a3bd3b862312df1eab539b"></a><!-- doxytag: member="ucommon::dupfree" ref="a4a3550c643a3bd3b862312df1eab539b" args="(T object)" -->
template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dupfree</b> (T object)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ae340f1ec8177aab58eee550d8450c966"></a><!-- doxytag: member="ucommon::dupfree&lt; char * &gt;" ref="ae340f1ec8177aab58eee550d8450c966" args="(char *object)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dupfree&lt; char * &gt;</b> (char *object)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="aeaa0a1ca80e48c98beab10462d108527"></a><!-- doxytag: member="ucommon::dupfree&lt; ucs2_t * &gt;" ref="aeaa0a1ca80e48c98beab10462d108527" args="(ucs2_t *string)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dupfree&lt; ucs2_t * &gt;</b> (<a class="el" href="a00208.html#ad62b38285d5dfd20839751626aab25c3">ucs2_t</a> *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a18e8ae9f070bc3285b1193adceba9970"></a><!-- doxytag: member="ucommon::dupfree&lt; ucs4_t * &gt;" ref="a18e8ae9f070bc3285b1193adceba9970" args="(ucs4_t *string)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dupfree&lt; ucs4_t * &gt;</b> (<a class="el" href="a00208.html#aaa2499ef76785d12d303b525ad1a042e">ucs4_t</a> *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="a8b9a8920ebc808b252973d28ea52736d"></a><!-- doxytag: member="ucommon::dupfree&lt; unicode_t &gt;" ref="a8b9a8920ebc808b252973d28ea52736d" args="(unicode_t string)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>dupfree&lt; unicode_t &gt;</b> (<a class="el" href="a00208.html#adca8b750ad72af446956b5a97570b53f">unicode_t</a> <a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aaf28fdc5132fbbcb8c1965a70750c012">eq</a> (<a class="el" href="a00148.html">String</a> &amp;s1, <a class="el" href="a00148.html">String</a> &amp;s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two string objects if equal.  <a href="#aaf28fdc5132fbbcb8c1965a70750c012"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8fc71f2ff5f59e70eb9fe2bf9c53f593">eq</a> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal up to specified size.  <a href="#a8fc71f2ff5f59e70eb9fe2bf9c53f593"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a19850a6054841e4fd921921c64f40cb9">eq</a> (char const *s1, char const *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal.  <a href="#a19850a6054841e4fd921921c64f40cb9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4387118c92f750775190e6cf2f09bebd">eq</a> (struct sockaddr_storage *s1, struct sockaddr_storage *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two stored socket addresses to see if equal.  <a href="#a4387118c92f750775190e6cf2f09bebd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#affb4ebc34459cfbe1d2965c178e52ee9">eq</a> (struct sockaddr *s1, struct sockaddr *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two socket addresses to see if equal.  <a href="#affb4ebc34459cfbe1d2965c178e52ee9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7b0d2beefd1454719db2b26aebdf3f61">exclusive</a> (<a class="el" href="a00157.html">rwlock_t</a> &amp;lock, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">Timer::inf</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for exclusive write access to a read/write lock.  <a href="#a7b0d2beefd1454719db2b26aebdf3f61"></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#a54b291a8e54c576e4e67c6fd04733089">exclusive</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to exclusively lock shared conditional lock.  <a href="#a54b291a8e54c576e4e67c6fd04733089"></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#a38f16b6c76465ba13751ff3b5be4a41e">exclusive</a> (<a class="el" href="a00128.html">SharedProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to exclusive lock shared object through it's protocol.  <a href="#a38f16b6c76465ba13751ff3b5be4a41e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7a44b0c73cbd6a3d8b914ef20e69c034">host_eq</a> (struct sockaddr *s1, struct sockaddr *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two host addresses to see if equal.  <a href="#a7a44b0c73cbd6a3d8b914ef20e69c034"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7cb57be8ab2eda95df6e455058e7535b">ieq</a> (<a class="el" href="a00148.html">String</a> &amp;s1, <a class="el" href="a00148.html">String</a> &amp;s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two string objects if equal ignoring case.  <a href="#a7cb57be8ab2eda95df6e455058e7535b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6105349bc8fb59421e1cb5c6df4de044"></a><!-- doxytag: member="ucommon::ieq" ref="a6105349bc8fb59421e1cb5c6df4de044" args="(char const *s1, char const *s2, size_t size)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>ieq</b> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae12c6d328a87bdc043e446703e6fb10b"></a><!-- doxytag: member="ucommon::ieq" ref="ae12c6d328a87bdc043e446703e6fb10b" args="(char const *s1, char const *s2)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>ieq</b> (char const *s1, char const *s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70b0467460458495a64a86610a97d000"></a><!-- doxytag: member="ucommon::ieq" ref="a70b0467460458495a64a86610a97d000" args="(struct sockaddr *s1, struct sockaddr *s2)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>ieq</b> (struct sockaddr *s1, struct sockaddr *s2)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#acf24ef988438eb342a8a348f19524e37">is</a> (T &amp;object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to validate object assuming it is castable to bool.  <a href="#acf24ef988438eb342a8a348f19524e37"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a883df5f1ce1dafba2a6a08f6c033f01a">isnull</a> (T &amp;object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to test pointer object.  <a href="#a883df5f1ce1dafba2a6a08f6c033f01a"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a3c72b6cc0a23488e17afdf3b241c4ec5">isnullp</a> (T *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to test pointer-pointer object.  <a href="#a3c72b6cc0a23488e17afdf3b241c4ec5"></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#a193c654e8874e1039646f9f981c4785e">lock</a> (<a class="el" href="a00114.html">rexlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to lock a shared recursive mutex lock.  <a href="#a193c654e8874e1039646f9f981c4785e"></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#a93b9eec9d0b7db95ce778265f806afd6">lock</a> (<a class="el" href="a00049.html">ExclusiveProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to exclusively lock an object through it's protocol.  <a href="#a93b9eec9d0b7db95ce778265f806afd6"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T()&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#aab1015f2852b036e8ea05cbff4b908c2">max</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for max value of a type.  <a href="#aab1015f2852b036e8ea05cbff4b908c2"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;()&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a76c25a471c75550616662fab96eea86b">max</a> (T &amp;o1, T &amp;o2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to return max of two objects.  <a href="#a76c25a471c75550616662fab96eea86b"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T()&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a4072c65fabe4667c587afc98374227b3">min</a> (const T &amp;v1, const T &amp;v2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for min value of a type.  <a href="#a4072c65fabe4667c587afc98374227b3"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;()&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a2b368aed93270c8c5f29ee927841bfc3">min</a> (T &amp;o1, T &amp;o2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to return min of two objects.  <a href="#a2b368aed93270c8c5f29ee927841bfc3"></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#ae7473d2a2c893387d5f6046486c46b5a">modify</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to exclusively aquire a conditional lock.  <a href="#ae7473d2a2c893387d5f6046486c46b5a"></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#a7bbf6bb584edfaa7d0cf79c1312ea26f">modify</a> (<a class="el" href="a00037.html">accesslock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to exclusively schedule conditional access.  <a href="#a7bbf6bb584edfaa7d0cf79c1312ea26f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00047.html">DLinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae528ab66f0ead2ce1b93b502124dc370">pop</a> (<a class="el" href="a00096.html">ObjectQueue</a> &amp;<a class="el" href="a00111.html">queue</a>)</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"><a class="el" href="a00067.html">LinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4f2bab0705ec909c7719b731e95263f6">pop</a> (<a class="el" href="a00100.html">OrderedIndex</a> &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"><a class="el" href="a00067.html">LinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8c39786e7fff8276be5ccaf1c962f1ce">pop</a> (ObjectStack &amp;<a class="el" href="a00145.html">stack</a>)</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"><a class="el" href="a00047.html">DLinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#af959bb9aeb3330002e8d63ce689ed3f0">pull</a> (<a class="el" href="a00096.html">ObjectQueue</a> &amp;<a class="el" href="a00111.html">queue</a>)</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"><a class="el" href="a00067.html">LinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a3ad2ef13dd8b8e2a57ec94c1a5ae7e94">pull</a> (<a class="el" href="a00100.html">OrderedIndex</a> &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"><a class="el" href="a00067.html">LinkedObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a92e5606ebd5239e1630ee9cb75d9dc8f">pull</a> (ObjectStack &amp;<a class="el" href="a00145.html">stack</a>)</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"><a class="el" href="a00095.html">ObjectProtocol</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4d4e9fae24764d25b21fd09b7ac9ce04">pull</a> (<a class="el" href="a00111.html">fifo_t</a> &amp;fifo, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">Timer::inf</a>)</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"><a class="el" href="a00095.html">ObjectProtocol</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a4aa076e73039e3c66ad07f7ca1827c8e">pull</a> (<a class="el" href="a00145.html">stack_t</a> &amp;<a class="el" href="a00145.html">stack</a>, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">Timer::inf</a>)</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#a82496fb437970a455fd658f8e2e68130">push</a> (<a class="el" href="a00096.html">ObjectQueue</a> &amp;<a class="el" href="a00111.html">queue</a>, <a class="el" href="a00047.html">DLinkedObject</a> *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">push</a> (<a class="el" href="a00100.html">OrderedIndex</a> &amp;fifo, <a class="el" href="a00067.html">LinkedObject</a> *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">push</a> (ObjectStack &amp;<a class="el" href="a00145.html">stack</a>, <a class="el" href="a00067.html">LinkedObject</a> *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>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a05a684294580146af54daf254ab68f21">push</a> (<a class="el" href="a00111.html">fifo_t</a> &amp;fifo, <a class="el" href="a00095.html">ObjectProtocol</a> *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">push</a> (<a class="el" href="a00145.html">stack_t</a> &amp;<a class="el" href="a00145.html">stack</a>, <a class="el" href="a00095.html">ObjectProtocol</a> *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#ae9c42524f9bed49eb0da7a443c36d1aa">release</a> (<a class="el" href="a00114.html">rexlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a shared recursive mutex lock.  <a href="#ae9c42524f9bed49eb0da7a443c36d1aa"></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#af250e8f47c069f733f78cf73855e45e6">release</a> (<a class="el" href="a00157.html">rwlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a shared lock.  <a href="#af250e8f47c069f733f78cf73855e45e6"></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#a171f36a021804ce628a3da7f2c19c7b6">release</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release shared access to a conditional lock.  <a href="#a171f36a021804ce628a3da7f2c19c7b6"></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#a1e5c8030c3c086e9fa9d4116092da607">release</a> (<a class="el" href="a00037.html">accesslock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release an access lock.  <a href="#a1e5c8030c3c086e9fa9d4116092da607"></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#adad46d50a99361486daa6c298d1a2d21">release</a> (<a class="el" href="a00086.html">mutex_t</a> &amp;mutex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a mutex.  <a href="#adad46d50a99361486daa6c298d1a2d21"></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#ab40408ee1a0ecade11a865036007ed80">release</a> (<a class="el" href="a00119.html">semaphore_t</a> &amp;semaphore)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a semaphore.  <a href="#ab40408ee1a0ecade11a865036007ed80"></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#a36c7f21e255b789a27b71fe4ce4896a3">release</a> (<a class="el" href="a00095.html">ObjectProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to access object release.  <a href="#a36c7f21e255b789a27b71fe4ce4896a3"></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#a40cad4d2f99609499746d66063c5a04b">release</a> (<a class="el" href="a00123.html">shlock_t</a> &amp;reference)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a reference to a shared lock.  <a href="#a40cad4d2f99609499746d66063c5a04b"></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#a447e496c6053ef4532637ed44bec2b63">release</a> (<a class="el" href="a00048.html">exlock_t</a> &amp;reference)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to release a reference to an exclusive lock.  <a href="#a447e496c6053ef4532637ed44bec2b63"></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#a8df8e4b667d68be02961ff0d4cd84224">release</a> (<a class="el" href="a00128.html">SharedProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to unlock shared object through it's protocol.  <a href="#a8df8e4b667d68be02961ff0d4cd84224"></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">remove</a> (<a class="el" href="a00111.html">fifo_t</a> &amp;fifo, <a class="el" href="a00095.html">ObjectProtocol</a> *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">remove</a> (<a class="el" href="a00145.html">stack_t</a> &amp;<a class="el" href="a00145.html">stack</a>, <a class="el" href="a00095.html">ObjectProtocol</a> *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>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7e79ccf82d8397085e6eecf36edeecc7">retain</a> (<a class="el" href="a00095.html">ObjectProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to access object retention.  <a href="#a7e79ccf82d8397085e6eecf36edeecc7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ae8121584dc72d5d51403c61aa4d3873f">share</a> (<a class="el" href="a00157.html">rwlock_t</a> &amp;lock, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">Timer::inf</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for shared read access to a read/write lock.  <a href="#ae8121584dc72d5d51403c61aa4d3873f"></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#a2a6157c301532362884a18c25c098c52">share</a> (<a class="el" href="a00038.html">condlock_t</a> &amp;lock)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to restore shared access on a conditional lock.  <a href="#a2a6157c301532362884a18c25c098c52"></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#aa738a981d717c379a3facda88eafbdea">share</a> (<a class="el" href="a00128.html">SharedProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to restore shared locking for object through it's protocol.  <a href="#aa738a981d717c379a3facda88eafbdea"></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#ad9c387d81bbd692673cb269301fa0977">start</a> (<a class="el" href="a00045.html">DetachedThread</a> *thread, int priority=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to start a detached thread.  <a href="#ad9c387d81bbd692673cb269301fa0977"></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#a3c62610106837fc4ebbe70e9001bdb2f">start</a> (<a class="el" href="a00053.html">JoinableThread</a> *thread, int priority=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to start a joinable thread.  <a href="#a3c62610106837fc4ebbe70e9001bdb2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f5b641a9a464e78aae5db2df24021ad"></a><!-- doxytag: member="ucommon::str" ref="a5f5b641a9a464e78aae5db2df24021ad" args="(CharacterProtocol &amp;cp, strsize_t size)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (<a class="el" href="a00030.html">CharacterProtocol</a> &amp;cp, <a class="el" href="a00208.html#aff28e825082cbb9ec24f288f210f34c6">strsize_t</a> size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a104b0c0660623a2b0b7c3dd7e6e036d0"></a><!-- doxytag: member="ucommon::str" ref="a104b0c0660623a2b0b7c3dd7e6e036d0" args="(double value)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (double value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c75d246bb685ec92e5e3e922ac902b6"></a><!-- doxytag: member="ucommon::str" ref="a0c75d246bb685ec92e5e3e922ac902b6" args="(unsigned long value)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (unsigned long value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad901193639eaa0501cb4adfbd466d817"></a><!-- doxytag: member="ucommon::str" ref="ad901193639eaa0501cb4adfbd466d817" args="(long value)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (long value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafcf3ae5982159b141573bdfbd4301a5"></a><!-- doxytag: member="ucommon::str" ref="aafcf3ae5982159b141573bdfbd4301a5" args="(unsigned short value)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (unsigned short value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4cbae19d77d04d5160e6f0b3fe18b61"></a><!-- doxytag: member="ucommon::str" ref="ac4cbae19d77d04d5160e6f0b3fe18b61" args="(short value)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (short value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab51981fb72136bfe4e7cf8cec228062f"></a><!-- doxytag: member="ucommon::str" ref="ab51981fb72136bfe4e7cf8cec228062f" args="(String &amp;string)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (<a class="el" href="a00148.html">String</a> &amp;<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a601456b18d6c5e6a0f62c677d734b3ce"></a><!-- doxytag: member="ucommon::str" ref="a601456b18d6c5e6a0f62c677d734b3ce" args="(const char *string)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (const char *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af150be4757df2a0370d70feaf4dc0b65"></a><!-- doxytag: member="ucommon::str" ref="af150be4757df2a0370d70feaf4dc0b65" args="(Socket &amp;so, strsize_t size)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (<a class="el" href="a00140.html">Socket</a> &amp;so, <a class="el" href="a00208.html#aff28e825082cbb9ec24f288f210f34c6">strsize_t</a> size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1dfdbf13443d52618bb43cf3460948e"></a><!-- doxytag: member="ucommon::str" ref="af1dfdbf13443d52618bb43cf3460948e" args="(charfile &amp;fp, strsize_t size)" -->
<a class="el" href="a00148.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>str</b> (<a class="el" href="a00032.html">charfile</a> &amp;fp, <a class="el" href="a00208.html#aff28e825082cbb9ec24f288f210f34c6">strsize_t</a> size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ac9553f1db00795e69cb24dd54b023247">stricmp</a> (const char *string1, const char *string2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for case insensitive null terminated string compare.  <a href="#ac9553f1db00795e69cb24dd54b023247"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a1c364e071100a7f775ce2058749b2c63">strnicmp</a> (const char *string1, const char *string2, size_t max)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for case insensitive null terminated string compare.  <a href="#a1c364e071100a7f775ce2058749b2c63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefb04dc892a125a424ebed57c061de57"></a><!-- doxytag: member="ucommon::strudup" ref="aefb04dc892a125a424ebed57c061de57" args="(const char *string)" -->
<a class="el" href="a00208.html#aaa2499ef76785d12d303b525ad1a042e">ucs4_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>strudup</b> (const char *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c96041e0e9a207b2c5c91d13e100ae4"></a><!-- doxytag: member="ucommon::strwdup" ref="a1c96041e0e9a207b2c5c91d13e100ae4" args="(const char *string)" -->
<a class="el" href="a00208.html#ad62b38285d5dfd20839751626aab25c3">ucs2_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>strwdup</b> (const char *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00208.html#a34c6e62e062c6cae0242ac1f51c09ec7">swap</a> (T &amp;o1, T &amp;o2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to swap objects.  <a href="#a34c6e62e062c6cae0242ac1f51c09ec7"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac1c2cfb212244bc7d3cafa8fba8e5c17"></a><!-- doxytag: member="ucommon::swap&lt; string_t &gt;" ref="ac1c2cfb212244bc7d3cafa8fba8e5c17" args="(string_t &amp;s1, string_t &amp;s2)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>swap&lt; string_t &gt;</b> (<a class="el" href="a00148.html">string_t</a> &amp;s1, <a class="el" href="a00148.html">string_t</a> &amp;s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5421e9490709d6412d91e318d1dd441"></a><!-- doxytag: member="ucommon::unidup" ref="aa5421e9490709d6412d91e318d1dd441" args="(const char *string)" -->
<a class="el" href="a00208.html#adca8b750ad72af446956b5a97570b53f">unicode_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>unidup</b> (const char *<a class="el" href="a00148.html">string</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a06fc306b76334e4410e554d683ae790b">unlock</a> (<a class="el" href="a00049.html">ExclusiveProtocol</a> *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to unlock an exclusive object through it's protocol.  <a href="#a06fc306b76334e4410e554d683ae790b"></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#a333b7825bb02a3a0429e8c2153b130b2">wait</a> (<a class="el" href="a00119.html">semaphore_t</a> &amp;semaphore, <a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=<a class="el" href="a00162.html#ad3d270c59686a8af48b731d389c65b1c">Timer::inf</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to wait on a semaphore.  <a href="#a333b7825bb02a3a0429e8c2153b130b2"></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#a5c50c87fd1eb5b1ac93dffa0ee6f9af5">wait</a> (<a class="el" href="a00024.html">barrier_t</a> &amp;<a class="el" href="a00024.html">barrier</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to wait on a barrier.  <a href="#a5c50c87fd1eb5b1ac93dffa0ee6f9af5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a788e7459e5d15c1a096b1f8d4db98e92"></a><!-- doxytag: member="ucommon::zerofill" ref="a788e7459e5d15c1a096b1f8d4db98e92" args="(void *addr, size_t size)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>zerofill</b> (void *addr, size_t size)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab36854161a95448a7fa9c898e1eeeb76"></a><!-- doxytag: member="ucommon::cstderr" ref="ab36854161a95448a7fa9c898e1eeeb76" args="" -->
<a class="el" href="a00032.html">charfile</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>cstderr</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaee901950f1877bde6949adabdb8d40"></a><!-- doxytag: member="ucommon::cstdin" ref="abaee901950f1877bde6949adabdb8d40" args="" -->
<a class="el" href="a00032.html">charfile</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>cstdin</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46dde3a075e7d0731a69f8e21acec05b"></a><!-- doxytag: member="ucommon::cstdout" ref="a46dde3a075e7d0731a69f8e21acec05b" args="" -->
<a class="el" href="a00032.html">charfile</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>cstdout</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Common namespace for all ucommon objects. </p>
<p>We are using a common namespace to easily separate ucommon from other libraries. This namespace usage is set to the package name and controlled by macros so future changes will be hidden from user applications so long as the namespace macros (UCOMMON_NAMESPACE, NAMESPACE_UCOMMON, END_NAMESPACE) are used in place of direct namespace declarations. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a9045ddbf2980f6330c065a6935f40161"></a><!-- doxytag: member="ucommon::String" ref="a9045ddbf2980f6330c065a6935f40161" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00148.html">string</a> <a class="el" href="a00148.html">ucommon::String</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience type when mixing std::string in old compilers that are bad with namespaces. </p>
<p>.. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00001.html#a0">datetime.cpp</a>, and <a class="el" href="a00008.html#a3">string.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00201_source.html#l01586">1586</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad62b38285d5dfd20839751626aab25c3"></a><!-- doxytag: member="ucommon::ucs2_t" ref="ad62b38285d5dfd20839751626aab25c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int16_t <a class="el" href="a00208.html#ad62b38285d5dfd20839751626aab25c3">ucommon::ucs2_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>16 bit unicode character code. </p>
<p>Java and some api's like these. </p>

<p>Definition at line <a class="el" href="a00205_source.html#l00050">50</a> of file <a class="el" href="a00205_source.html">unicode.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaa2499ef76785d12d303b525ad1a042e"></a><!-- doxytag: member="ucommon::ucs4_t" ref="aaa2499ef76785d12d303b525ad1a042e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int32_t <a class="el" href="a00208.html#aaa2499ef76785d12d303b525ad1a042e">ucommon::ucs4_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>32 bit unicode character code. </p>
<p>We may extract this from a ucs2 or <a class="el" href="a00170.html" title="A core class of ut8 encoded string functions.">utf8</a> string. </p>

<p>Definition at line <a class="el" href="a00205_source.html#l00045">45</a> of file <a class="el" href="a00205_source.html">unicode.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="afbf255b5ca1f4a456179441d8ade34d6"></a><!-- doxytag: member="ucommon::_TEXT" ref="afbf255b5ca1f4a456179441d8ade34d6" args="(char *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ucommon::_TEXT </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Abusive compilers. </p>
<p>.. Invoke translation lookup if available. This can also be used to mark text constants that need to be translated. It should not be used with pointer variables, which should instead call <a class="el" href="a00129.html#a70cddbd6e3fd5352433b01edff3dc2a4" title="Text translation and localization.">shell::text</a> directly. The primary purpose is to allow extraction of text to be internationalized with xgettext "--keyword=_TEXT:1". </p>

<p>Definition at line <a class="el" href="a00197_source.html#l01040">1040</a> of file <a class="el" href="a00197_source.html">shell.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab2c22b12aa7bfd97947c61e7a24ffcae"></a><!-- doxytag: member="ucommon::abs" ref="ab2c22b12aa7bfd97947c61e7a24ffcae" args="(const T &amp;value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T ucommon::abs </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Template for absolute value of a type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>absolute value </dd></dl>

<p>Definition at line <a class="el" href="a00191_source.html#l00188">188</a> of file <a class="el" href="a00191_source.html">numbers.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae40e9a29f3fd228b50f046f7d428eb6a"></a><!-- doxytag: member="ucommon::access" ref="ae40e9a29f3fd228b50f046f7d428eb6a" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::access </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function for shared access to a conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to access. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02199">2199</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae40e9a29f3fd228b50f046f7d428eb6a_cgraph.png" border="0" usemap="#a00208_ae40e9a29f3fd228b50f046f7d428eb6a_cgraph_map" alt=""></div>
<map name="a00208_ae40e9a29f3fd228b50f046f7d428eb6a_cgraph_map" id="a00208_ae40e9a29f3fd228b50f046f7d428eb6a_cgraph">
<area shape="rect" id="node3" href="a00038.html#a6c50babda6e4c056be90b754738d2d5d" title="Acquire access (shared read) lock." alt="" coords="228,5,569,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae8014d7a484399e83e7a3f66a0d34a66"></a><!-- doxytag: member="ucommon::access" ref="ae8014d7a484399e83e7a3f66a0d34a66" args="(accesslock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::access </td>
          <td>(</td>
          <td class="paramtype">accesslock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to shared read schedule conditional access. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to access shared. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02148">2148</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae8014d7a484399e83e7a3f66a0d34a66_cgraph.png" border="0" usemap="#a00208_ae8014d7a484399e83e7a3f66a0d34a66_cgraph_map" alt=""></div>
<map name="a00208_ae8014d7a484399e83e7a3f66a0d34a66_cgraph_map" id="a00208_ae8014d7a484399e83e7a3f66a0d34a66_cgraph">
<area shape="rect" id="node3" href="a00037.html#a0e45df81148cfcb5cc2e197dc751972b" title="Access mode shared thread scheduling." alt="" coords="227,5,589,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5422fe5f7269f2606c8317e29e4147bf"></a><!-- doxytag: member="ucommon::access" ref="a5422fe5f7269f2606c8317e29e4147bf" args="(SharedProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::access </td>
          <td>(</td>
          <td class="paramtype">SharedProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to access (lock) shared object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to share lock. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00241">241</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c813dcccc3a9eec6a0da47efcac7a1f"></a><!-- doxytag: member="ucommon::acquire" ref="a3c813dcccc3a9eec6a0da47efcac7a1f" args="(mutex_t &amp;mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::acquire </td>
          <td>(</td>
          <td class="paramtype">mutex_t &amp;&nbsp;</td>
          <td class="paramname"> <em>mutex</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to acquire a mutex. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mutex</em>&nbsp;</td><td>to acquire. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02127">2127</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a3c813dcccc3a9eec6a0da47efcac7a1f_cgraph.png" border="0" usemap="#a00208_a3c813dcccc3a9eec6a0da47efcac7a1f_cgraph_map" alt=""></div>
<map name="a00208_a3c813dcccc3a9eec6a0da47efcac7a1f_cgraph_map" id="a00208_a3c813dcccc3a9eec6a0da47efcac7a1f_cgraph">
<area shape="rect" id="node3" href="a00086.html#adac15f4646a7dc0bef489f9179771d0f" title="Acquire mutex lock." alt="" coords="239,5,460,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8e0477fafd3efe21cf1b84e6b48b6dcd"></a><!-- doxytag: member="ucommon::add" ref="a8e0477fafd3efe21cf1b84e6b48b6dcd" args="(ObjectQueue &amp;queue, DLinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::add </td>
          <td>(</td>
          <td class="paramtype">ObjectQueue &amp;&nbsp;</td>
          <td class="paramname"> <em>queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DLinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a linked object to end of queue of objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>queue</em>&nbsp;</td><td>to add object onto. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to add onto queue. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01999">1999</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a8e0477fafd3efe21cf1b84e6b48b6dcd_cgraph.png" border="0" usemap="#a00208_a8e0477fafd3efe21cf1b84e6b48b6dcd_cgraph_map" alt=""></div>
<map name="a00208_a8e0477fafd3efe21cf1b84e6b48b6dcd_cgraph_map" id="a00208_a8e0477fafd3efe21cf1b84e6b48b6dcd_cgraph">
<area shape="rect" id="node3" href="a00096.html#ad7d1038e5be6651830b00b0dc030545d" title="Add an object to the end of the queue." alt="" coords="197,5,469,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a429ec7c4fc58d6b129a1a045ec9b0607"></a><!-- doxytag: member="ucommon::add" ref="a429ec7c4fc58d6b129a1a045ec9b0607" args="(OrderedIndex &amp;fifo, LinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::add </td>
          <td>(</td>
          <td class="paramtype">OrderedIndex &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a linked object onto a fifo of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to push object onto. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push onto fifo. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01967">1967</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a429ec7c4fc58d6b129a1a045ec9b0607_cgraph.png" border="0" usemap="#a00208_a429ec7c4fc58d6b129a1a045ec9b0607_cgraph_map" alt=""></div>
<map name="a00208_a429ec7c4fc58d6b129a1a045ec9b0607_cgraph_map" id="a00208_a429ec7c4fc58d6b129a1a045ec9b0607_cgraph">
<area shape="rect" id="node3" href="a00100.html#a4f64e5ff97696e93946594e78fe75abf" title="Add an object into the ordered index." alt="" coords="197,5,480,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0a43af474b84d87df26aa4998bcebb02"></a><!-- doxytag: member="ucommon::add" ref="a0a43af474b84d87df26aa4998bcebb02" args="(ObjectStack &amp;stack, LinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::add </td>
          <td>(</td>
          <td class="paramtype">ObjectStack &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a linked object onto a stack of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to push object onto. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push onto stack. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01935">1935</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

</div>
</div>
<a class="anchor" id="a460b5a6386de45c6263462b541a9c357"></a><!-- doxytag: member="ucommon::addr" ref="a460b5a6386de45c6263462b541a9c357" args="(socket::address &amp;address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct sockaddr* ucommon::addr </td>
          <td>(</td>
          <td class="paramtype">socket::address &amp;&nbsp;</td>
          <td class="paramname"> <em>address</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience function to convert a socket address list into a socket address. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>address</em>&nbsp;</td><td>list object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>first socket address in list or NULL if empty. </dd></dl>

<p>Definition at line <a class="el" href="a00198_source.html#l01885">1885</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a460b5a6386de45c6263462b541a9c357_cgraph.png" border="0" usemap="#a00208_a460b5a6386de45c6263462b541a9c357_cgraph_map" alt=""></div>
<map name="a00208_a460b5a6386de45c6263462b541a9c357_cgraph_map" id="a00208_a460b5a6386de45c6263462b541a9c357_cgraph">
<area shape="rect" id="node3" href="a00141.html#a0481d1b4aff43f09638986f1c2877cd1" title="Get the first socket address in our address list." alt="" coords="205,5,557,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a1c6e320bbe28f9f36560b564459de846"></a><!-- doxytag: member="ucommon::addrinfo" ref="a1c6e320bbe28f9f36560b564459de846" args="(socket::address &amp;address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct addrinfo* ucommon::addrinfo </td>
          <td>(</td>
          <td class="paramtype">socket::address &amp;&nbsp;</td>
          <td class="paramname"> <em>address</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience function to convert a socket address list into an addrinfo. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>address</em>&nbsp;</td><td>list object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>addrinfo list or NULL if empty. </dd></dl>

<p>Definition at line <a class="el" href="a00198_source.html#l01876">1876</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a1c6e320bbe28f9f36560b564459de846_cgraph.png" border="0" usemap="#a00208_a1c6e320bbe28f9f36560b564459de846_cgraph_map" alt=""></div>
<map name="a00208_a1c6e320bbe28f9f36560b564459de846_cgraph_map" id="a00208_a1c6e320bbe28f9f36560b564459de846_cgraph">
<area shape="rect" id="node3" href="a00141.html#adf008e2e2233bbccc99d0e51f4bca1b3" title="Get the full socket address list from the object." alt="" coords="245,5,597,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a173d631afa146912b5b78bb56381a38e"></a><!-- doxytag: member="ucommon::case_eq" ref="a173d631afa146912b5b78bb56381a38e" args="(char const *s1, char const *s2, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::case_eq </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two null terminated strings if equal for a specified size ignoring case. </p>
<p>This is related to stricmp or gcc strcasecmp. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01704">1704</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="aed17b3db1b6589811a2f2f1567775177"></a><!-- doxytag: member="ucommon::case_eq" ref="aed17b3db1b6589811a2f2f1567775177" args="(char const *s1, char const *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::case_eq </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two null terminated strings if equal ignoring case. </p>
<p>This is related to stricmp or gcc strcasecmp. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00002.html#a0">keydata.cpp</a>, and <a class="el" href="a00008.html#a1">string.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00201_source.html#l01689">1689</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac9f6f0089b3169e2d79bbf0c7777e6e5"></a><!-- doxytag: member="ucommon::commit" ref="ac9f6f0089b3169e2d79bbf0c7777e6e5" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::commit </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to commit and release an exclusively locked conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to commit. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02192">2192</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ac9f6f0089b3169e2d79bbf0c7777e6e5_cgraph.png" border="0" usemap="#a00208_ac9f6f0089b3169e2d79bbf0c7777e6e5_cgraph_map" alt=""></div>
<map name="a00208_ac9f6f0089b3169e2d79bbf0c7777e6e5_cgraph_map" id="a00208_ac9f6f0089b3169e2d79bbf0c7777e6e5_cgraph">
<area shape="rect" id="node3" href="a00038.html#aa8b1287c294c8abc9c30000e9d5b9052" title="Commit changes / release a modify lock." alt="" coords="228,5,569,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af77af9c36e881ef569e2fb1bf5dca1d6"></a><!-- doxytag: member="ucommon::commit" ref="af77af9c36e881ef569e2fb1bf5dca1d6" args="(accesslock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::commit </td>
          <td>(</td>
          <td class="paramtype">accesslock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to commit an exclusive access lock. </p>
<p>lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to commit. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02163">2163</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_af77af9c36e881ef569e2fb1bf5dca1d6_cgraph.png" border="0" usemap="#a00208_af77af9c36e881ef569e2fb1bf5dca1d6_cgraph_map" alt=""></div>
<map name="a00208_af77af9c36e881ef569e2fb1bf5dca1d6_cgraph_map" id="a00208_af77af9c36e881ef569e2fb1bf5dca1d6_cgraph">
<area shape="rect" id="node3" href="a00037.html#a7555ff21951000954a00355ceaf32bb3" title="Complete exclusive mode write scheduling." alt="" coords="227,5,589,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa948d5926268ce79c22778bd81cc6ed9"></a><!-- doxytag: member="ucommon::copy" ref="aa948d5926268ce79c22778bd81cc6ed9" args="(ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00095.html">ObjectProtocol</a>* ucommon::copy </td>
          <td>(</td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to access object copy. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are copying. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00507">507</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_aa948d5926268ce79c22778bd81cc6ed9_cgraph.png" border="0" usemap="#a00208_aa948d5926268ce79c22778bd81cc6ed9_cgraph_map" alt=""></div>
<map name="a00208_aa948d5926268ce79c22778bd81cc6ed9_cgraph_map" id="a00208_aa948d5926268ce79c22778bd81cc6ed9_cgraph">
<area shape="rect" id="node3" href="a00095.html#a4a4a4a1e33744f72e9da89576678f78c" title="Retain (increase retention of) object when copying." alt="" coords="205,5,517,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8048c8716eafab6b193a59529650db5c"></a><!-- doxytag: member="ucommon::dup" ref="a8048c8716eafab6b193a59529650db5c" args="(const T &amp;object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T* ucommon::dup </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to duplicate object pointer to heap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are duping. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>heap pointer instance. </dd></dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00452">452</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaf28fdc5132fbbcb8c1965a70750c012"></a><!-- doxytag: member="ucommon::eq" ref="aaf28fdc5132fbbcb8c1965a70750c012" args="(String &amp;s1, String &amp;s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::eq </td>
          <td>(</td>
          <td class="paramtype">String &amp;&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String &amp;&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two string objects if equal. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01679">1679</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_aaf28fdc5132fbbcb8c1965a70750c012_cgraph.png" border="0" usemap="#a00208_aaf28fdc5132fbbcb8c1965a70750c012_cgraph_map" alt=""></div>
<map name="a00208_aaf28fdc5132fbbcb8c1965a70750c012_cgraph_map" id="a00208_aaf28fdc5132fbbcb8c1965a70750c012_cgraph">
<area shape="rect" id="node3" href="a00148.html#a56c42ee4aba4a888818c3877c56a9e89" title="Get character text buffer of string object." alt="" coords="187,5,429,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8fc71f2ff5f59e70eb9fe2bf9c53f593"></a><!-- doxytag: member="ucommon::eq" ref="a8fc71f2ff5f59e70eb9fe2bf9c53f593" args="(char const *s1, char const *s2, size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::eq </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two null terminated strings if equal up to specified size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01670">1670</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="a19850a6054841e4fd921921c64f40cb9"></a><!-- doxytag: member="ucommon::eq" ref="a19850a6054841e4fd921921c64f40cb9" args="(char const *s1, char const *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::eq </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two null terminated strings if equal. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01660">1660</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4387118c92f750775190e6cf2f09bebd"></a><!-- doxytag: member="ucommon::eq" ref="a4387118c92f750775190e6cf2f09bebd" args="(struct sockaddr_storage *s1, struct sockaddr_storage *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::eq </td>
          <td>(</td>
          <td class="paramtype">struct sockaddr_storage *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr_storage *&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two stored socket addresses to see if equal. </p>
<p>If the port is zero then this is the same as comparing host address alone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>stored socket address to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>stored socket address to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if addresses same. </dd></dl>

<p>Definition at line <a class="el" href="a00198_source.html#l01905">1905</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p>

</div>
</div>
<a class="anchor" id="affb4ebc34459cfbe1d2965c178e52ee9"></a><!-- doxytag: member="ucommon::eq" ref="affb4ebc34459cfbe1d2965c178e52ee9" args="(struct sockaddr *s1, struct sockaddr *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::eq </td>
          <td>(</td>
          <td class="paramtype">struct sockaddr *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr *&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two socket addresses to see if equal. </p>
<p>If the port is zero then this is the same as comparing host address alone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>socket address to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>socket address to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if addresses same. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00006.html#a3">cipher.cpp</a>, <a class="el" href="a00001.html#a2">datetime.cpp</a>, <a class="el" href="a00005.html#a1">digest.cpp</a>, <a class="el" href="a00007.html#a1">shell.cpp</a>, and <a class="el" href="a00008.html#a2">string.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00198_source.html#l01895">1895</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7b0d2beefd1454719db2b26aebdf3f61"></a><!-- doxytag: member="ucommon::exclusive" ref="a7b0d2beefd1454719db2b26aebdf3f61" args="(rwlock_t &amp;lock, timeout_t timeout=Timer::inf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::exclusive </td>
          <td>(</td>
          <td class="paramtype">rwlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>Timer::inf</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function for exclusive write access to a read/write lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to write lock. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>to wait for exclusive locking. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02214">2214</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a7b0d2beefd1454719db2b26aebdf3f61_cgraph.png" border="0" usemap="#a00208_a7b0d2beefd1454719db2b26aebdf3f61_cgraph_map" alt=""></div>
<map name="a00208_a7b0d2beefd1454719db2b26aebdf3f61_cgraph_map" id="a00208_a7b0d2beefd1454719db2b26aebdf3f61_cgraph">
<area shape="rect" id="node3" href="a00157.html#a1bf92873e3b21e95702691d04a740bd2" title="Request modify (write) access through the lock." alt="" coords="257,5,548,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a54b291a8e54c576e4e67c6fd04733089"></a><!-- doxytag: member="ucommon::exclusive" ref="a54b291a8e54c576e4e67c6fd04733089" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::exclusive </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to exclusively lock shared conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to make exclusive. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02170">2170</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a54b291a8e54c576e4e67c6fd04733089_cgraph.png" border="0" usemap="#a00208_a54b291a8e54c576e4e67c6fd04733089_cgraph_map" alt=""></div>
<map name="a00208_a54b291a8e54c576e4e67c6fd04733089_cgraph_map" id="a00208_a54b291a8e54c576e4e67c6fd04733089_cgraph">
<area shape="rect" id="node3" href="a00038.html#a719bfdd193be78ad51d5b034822fbb2f" title="Convert read lock into exclusive (write/modify) access." alt="" coords="257,5,628,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a38f16b6c76465ba13751ff3b5be4a41e"></a><!-- doxytag: member="ucommon::exclusive" ref="a38f16b6c76465ba13751ff3b5be4a41e" args="(SharedProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::exclusive </td>
          <td>(</td>
          <td class="paramtype">SharedProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to exclusive lock shared object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to exclusive lock. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00255">255</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7a44b0c73cbd6a3d8b914ef20e69c034"></a><!-- doxytag: member="ucommon::host_eq" ref="a7a44b0c73cbd6a3d8b914ef20e69c034" args="(struct sockaddr *s1, struct sockaddr *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::host_eq </td>
          <td>(</td>
          <td class="paramtype">struct sockaddr *&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr *&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two host addresses to see if equal. </p>
<p>The port numbers are ignored. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>socket address to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>socket address to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if addresses same. </dd></dl>

<p>Definition at line <a class="el" href="a00198_source.html#l01915">1915</a> of file <a class="el" href="a00198_source.html">socket.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7cb57be8ab2eda95df6e455058e7535b"></a><!-- doxytag: member="ucommon::ieq" ref="a7cb57be8ab2eda95df6e455058e7535b" args="(String &amp;s1, String &amp;s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::ieq </td>
          <td>(</td>
          <td class="paramtype">String &amp;&nbsp;</td>
          <td class="paramname"> <em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">String &amp;&nbsp;</td>
          <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two string objects if equal ignoring case. </p>
<p>This is related to stricmp or gcc strcasecmp. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s1</em>&nbsp;</td><td>string to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>s2</em>&nbsp;</td><td>string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if equal. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01717">1717</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a7cb57be8ab2eda95df6e455058e7535b_cgraph.png" border="0" usemap="#a00208_a7cb57be8ab2eda95df6e455058e7535b_cgraph_map" alt=""></div>
<map name="a00208_a7cb57be8ab2eda95df6e455058e7535b_cgraph_map" id="a00208_a7cb57be8ab2eda95df6e455058e7535b_cgraph">
<area shape="rect" id="node3" href="a00148.html#a56c42ee4aba4a888818c3877c56a9e89" title="Get character text buffer of string object." alt="" coords="197,5,440,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acf24ef988438eb342a8a348f19524e37"></a><!-- doxytag: member="ucommon::is" ref="acf24ef988438eb342a8a348f19524e37" args="(T &amp;object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::is </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to validate object assuming it is castable to bool. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are testing. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if object valid. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00001.html#a3">datetime.cpp</a>, and <a class="el" href="a00007.html#a0">shell.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00186_source.html#l00423">423</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="a883df5f1ce1dafba2a6a08f6c033f01a"></a><!-- doxytag: member="ucommon::isnull" ref="a883df5f1ce1dafba2a6a08f6c033f01a" args="(T &amp;object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::isnull </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to test pointer object. </p>
<p>This solves issues where some compilers get confused between bool and pointer operators. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are testing. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if object points to NULL. </dd></dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00433">433</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c72b6cc0a23488e17afdf3b241c4ec5"></a><!-- doxytag: member="ucommon::isnullp" ref="a3c72b6cc0a23488e17afdf3b241c4ec5" args="(T *object)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::isnullp </td>
          <td>(</td>
          <td class="paramtype">T *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to test pointer-pointer object. </p>
<p>This solves issues where some compilers get confused between bool and pointer operators. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are testing. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if object points to NULL. </dd></dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00443">443</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="a193c654e8874e1039646f9f981c4785e"></a><!-- doxytag: member="ucommon::lock" ref="a193c654e8874e1039646f9f981c4785e" args="(rexlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::lock </td>
          <td>(</td>
          <td class="paramtype">rexlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to lock a shared recursive mutex lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to acquire. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02236">2236</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a193c654e8874e1039646f9f981c4785e_cgraph.png" border="0" usemap="#a00208_a193c654e8874e1039646f9f981c4785e_cgraph_map" alt=""></div>
<map name="a00208_a193c654e8874e1039646f9f981c4785e_cgraph_map" id="a00208_a193c654e8874e1039646f9f981c4785e_cgraph">
<area shape="rect" id="node3" href="a00114.html#ad5b50251914d7eaeb73f0075ec466d41" title="Acquire or increase locking." alt="" coords="205,5,517,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a93b9eec9d0b7db95ce778265f806afd6"></a><!-- doxytag: member="ucommon::lock" ref="a93b9eec9d0b7db95ce778265f806afd6" args="(ExclusiveProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::lock </td>
          <td>(</td>
          <td class="paramtype">ExclusiveProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to exclusively lock an object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to lock. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00227">227</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab1015f2852b036e8ea05cbff4b908c2"></a><!-- doxytag: member="ucommon::max" ref="aab1015f2852b036e8ea05cbff4b908c2" args="(const T &amp;v1, const T &amp;v2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T() ucommon::max </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Template for max value of a type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v1</em>&nbsp;</td><td>value to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v2</em>&nbsp;</td><td>value to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>v1 if &gt; v2, else v2 </dd></dl>

<p>Definition at line <a class="el" href="a00191_source.html#l00215">215</a> of file <a class="el" href="a00191_source.html">numbers.h</a>.</p>

</div>
</div>
<a class="anchor" id="a76c25a471c75550616662fab96eea86b"></a><!-- doxytag: member="ucommon::max" ref="a76c25a471c75550616662fab96eea86b" args="(T &amp;o1, T &amp;o2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp;() ucommon::max </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to return max of two objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>o1</em>&nbsp;</td><td>to check. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>o2</em>&nbsp;</td><td>to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>max object. </dd></dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00483">483</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4072c65fabe4667c587afc98374227b3"></a><!-- doxytag: member="ucommon::min" ref="a4072c65fabe4667c587afc98374227b3" args="(const T &amp;v1, const T &amp;v2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const T() ucommon::min </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Template for min value of a type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>v1</em>&nbsp;</td><td>value to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v2</em>&nbsp;</td><td>value to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>v1 if &lt; v2, else v2 </dd></dl>

<p>Definition at line <a class="el" href="a00191_source.html#l00203">203</a> of file <a class="el" href="a00191_source.html">numbers.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2b368aed93270c8c5f29ee927841bfc3"></a><!-- doxytag: member="ucommon::min" ref="a2b368aed93270c8c5f29ee927841bfc3" args="(T &amp;o1, T &amp;o2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp;() ucommon::min </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to return min of two objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>o1</em>&nbsp;</td><td>to check. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>o2</em>&nbsp;</td><td>to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>min object. </dd></dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00495">495</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7473d2a2c893387d5f6046486c46b5a"></a><!-- doxytag: member="ucommon::modify" ref="ae7473d2a2c893387d5f6046486c46b5a" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::modify </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to exclusively aquire a conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to acquire for modify. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02184">2184</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae7473d2a2c893387d5f6046486c46b5a_cgraph.png" border="0" usemap="#a00208_ae7473d2a2c893387d5f6046486c46b5a_cgraph_map" alt=""></div>
<map name="a00208_ae7473d2a2c893387d5f6046486c46b5a_cgraph_map" id="a00208_ae7473d2a2c893387d5f6046486c46b5a_cgraph">
<area shape="rect" id="node3" href="a00038.html#a3d3a37cc1d24d1326deb9755ce0f6171" title="Acquire write (exclusive modify) lock." alt="" coords="228,5,569,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7bbf6bb584edfaa7d0cf79c1312ea26f"></a><!-- doxytag: member="ucommon::modify" ref="a7bbf6bb584edfaa7d0cf79c1312ea26f" args="(accesslock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::modify </td>
          <td>(</td>
          <td class="paramtype">accesslock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to exclusively schedule conditional access. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to make exclusive. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02141">2141</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a7bbf6bb584edfaa7d0cf79c1312ea26f_cgraph.png" border="0" usemap="#a00208_a7bbf6bb584edfaa7d0cf79c1312ea26f_cgraph_map" alt=""></div>
<map name="a00208_a7bbf6bb584edfaa7d0cf79c1312ea26f_cgraph_map" id="a00208_a7bbf6bb584edfaa7d0cf79c1312ea26f_cgraph">
<area shape="rect" id="node3" href="a00037.html#a69bb754c052d0915defd46d96e346a7c" title="Exclusive mode write thread scheduling." alt="" coords="227,5,589,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae528ab66f0ead2ce1b93b502124dc370"></a><!-- doxytag: member="ucommon::pop" ref="ae528ab66f0ead2ce1b93b502124dc370" args="(ObjectQueue &amp;queue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00047.html">DLinkedObject</a>* ucommon::pop </td>
          <td>(</td>
          <td class="paramtype">ObjectQueue &amp;&nbsp;</td>
          <td class="paramname"> <em>queue</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop a linked object from end of queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>queue</em>&nbsp;</td><td>to pop object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object popped from queue or NULL if none. </dd></dl>

<p>Definition at line <a class="el" href="a00188_source.html#l02007">2007</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae528ab66f0ead2ce1b93b502124dc370_cgraph.png" border="0" usemap="#a00208_ae528ab66f0ead2ce1b93b502124dc370_cgraph_map" alt=""></div>
<map name="a00208_ae528ab66f0ead2ce1b93b502124dc370_cgraph_map" id="a00208_ae528ab66f0ead2ce1b93b502124dc370_cgraph">
<area shape="rect" id="node3" href="a00096.html#a677bb76ed3d2ebd331e3021a19e06fc0" title="Pop an object from the end of the queue." alt="" coords="197,5,469,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a4f2bab0705ec909c7719b731e95263f6"></a><!-- doxytag: member="ucommon::pop" ref="a4f2bab0705ec909c7719b731e95263f6" args="(OrderedIndex &amp;fifo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00067.html">LinkedObject</a>* ucommon::pop </td>
          <td>(</td>
          <td class="paramtype">OrderedIndex &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop a linked object from a fifo of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to pull object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled from stack or NULL if none. </dd></dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01975">1975</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a4f2bab0705ec909c7719b731e95263f6_cgraph.png" border="0" usemap="#a00208_a4f2bab0705ec909c7719b731e95263f6_cgraph_map" alt=""></div>
<map name="a00208_a4f2bab0705ec909c7719b731e95263f6_cgraph_map" id="a00208_a4f2bab0705ec909c7719b731e95263f6_cgraph">
<area shape="rect" id="node3" href="a00100.html#a297ed03432d68f557cf1a0c82a652100" title="Get (pull) object off the list." alt="" coords="197,5,480,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8c39786e7fff8276be5ccaf1c962f1ce"></a><!-- doxytag: member="ucommon::pop" ref="a8c39786e7fff8276be5ccaf1c962f1ce" args="(ObjectStack &amp;stack)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00067.html">LinkedObject</a>* ucommon::pop </td>
          <td>(</td>
          <td class="paramtype">ObjectStack &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop a linked object from a stack of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to pull object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled from stack or NULL if none. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00003.html#a2">linked.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00188_source.html#l01943">1943</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

</div>
</div>
<a class="anchor" id="af959bb9aeb3330002e8d63ce689ed3f0"></a><!-- doxytag: member="ucommon::pull" ref="af959bb9aeb3330002e8d63ce689ed3f0" args="(ObjectQueue &amp;queue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00047.html">DLinkedObject</a>* ucommon::pull </td>
          <td>(</td>
          <td class="paramtype">ObjectQueue &amp;&nbsp;</td>
          <td class="paramname"> <em>queue</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pull a linked object from start of a queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>queue</em>&nbsp;</td><td>to pull object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled from queue or NULL if none. </dd></dl>

<p>Definition at line <a class="el" href="a00188_source.html#l02015">2015</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_af959bb9aeb3330002e8d63ce689ed3f0_cgraph.png" border="0" usemap="#a00208_af959bb9aeb3330002e8d63ce689ed3f0_cgraph_map" alt=""></div>
<map name="a00208_af959bb9aeb3330002e8d63ce689ed3f0_cgraph_map" id="a00208_af959bb9aeb3330002e8d63ce689ed3f0_cgraph">
<area shape="rect" id="node3" href="a00096.html#a861ce475b63a60f0af31d0c5475c5df4" title="Pull an object from the front of the queue." alt="" coords="205,5,488,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3ad2ef13dd8b8e2a57ec94c1a5ae7e94"></a><!-- doxytag: member="ucommon::pull" ref="a3ad2ef13dd8b8e2a57ec94c1a5ae7e94" args="(OrderedIndex &amp;fifo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00067.html">LinkedObject</a>* ucommon::pull </td>
          <td>(</td>
          <td class="paramtype">OrderedIndex &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop a linked object from a fifo of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to pull object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled from stack or NULL if none. </dd></dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01983">1983</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a3ad2ef13dd8b8e2a57ec94c1a5ae7e94_cgraph.png" border="0" usemap="#a00208_a3ad2ef13dd8b8e2a57ec94c1a5ae7e94_cgraph_map" alt=""></div>
<map name="a00208_a3ad2ef13dd8b8e2a57ec94c1a5ae7e94_cgraph_map" id="a00208_a3ad2ef13dd8b8e2a57ec94c1a5ae7e94_cgraph">
<area shape="rect" id="node3" href="a00100.html#a297ed03432d68f557cf1a0c82a652100" title="Get (pull) object off the list." alt="" coords="205,5,488,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a92e5606ebd5239e1630ee9cb75d9dc8f"></a><!-- doxytag: member="ucommon::pull" ref="a92e5606ebd5239e1630ee9cb75d9dc8f" args="(ObjectStack &amp;stack)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00067.html">LinkedObject</a>* ucommon::pull </td>
          <td>(</td>
          <td class="paramtype">ObjectStack &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pop a linked object from a stack of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to pull object from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled from stack or NULL if none. </dd></dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01951">1951</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d4e9fae24764d25b21fd09b7ac9ce04"></a><!-- doxytag: member="ucommon::pull" ref="a4d4e9fae24764d25b21fd09b7ac9ce04" args="(fifo_t &amp;fifo, timeout_t timeout=Timer::inf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00095.html">ObjectProtocol</a>* ucommon::pull </td>
          <td>(</td>
          <td class="paramtype">fifo_t &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>Timer::inf</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to pull an object from a fifo. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to pull from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>to wait to pull. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled. </dd></dl>

<p>Definition at line <a class="el" href="a00181_source.html#l00703">703</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a4d4e9fae24764d25b21fd09b7ac9ce04_cgraph.png" border="0" usemap="#a00208_a4d4e9fae24764d25b21fd09b7ac9ce04_cgraph_map" alt=""></div>
<map name="a00208_a4d4e9fae24764d25b21fd09b7ac9ce04_cgraph_map" id="a00208_a4d4e9fae24764d25b21fd09b7ac9ce04_cgraph">
<area shape="rect" id="node3" href="a00111.html#ad8d297d75dec8eeda289f78c774e8a5e" title="Get and remove last object posted to the queue." alt="" coords="207,5,428,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a4aa076e73039e3c66ad07f7ca1827c8e"></a><!-- doxytag: member="ucommon::pull" ref="a4aa076e73039e3c66ad07f7ca1827c8e" args="(stack_t &amp;stack, timeout_t timeout=Timer::inf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00095.html">ObjectProtocol</a>* ucommon::pull </td>
          <td>(</td>
          <td class="paramtype">stack_t &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>Timer::inf</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to pull an object from a stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to pull from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>to wait to pull. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>object pulled. </dd></dl>

<p>Definition at line <a class="el" href="a00181_source.html#l00678">678</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a4aa076e73039e3c66ad07f7ca1827c8e_cgraph.png" border="0" usemap="#a00208_a4aa076e73039e3c66ad07f7ca1827c8e_cgraph_map" alt=""></div>
<map name="a00208_a4aa076e73039e3c66ad07f7ca1827c8e_cgraph_map" id="a00208_a4aa076e73039e3c66ad07f7ca1827c8e_cgraph">
<area shape="rect" id="node3" href="a00145.html#ace7b1d47a03ad947eb592033ae94aa1a" title="Get and remove last object pushed on the stack." alt="" coords="207,5,428,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a82496fb437970a455fd658f8e2e68130"></a><!-- doxytag: member="ucommon::push" ref="a82496fb437970a455fd658f8e2e68130" args="(ObjectQueue &amp;queue, DLinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::push </td>
          <td>(</td>
          <td class="paramtype">ObjectQueue &amp;&nbsp;</td>
          <td class="paramname"> <em>queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DLinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push a linked object to start of queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>queue</em>&nbsp;</td><td>to push object into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push onto fifo. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01991">1991</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a82496fb437970a455fd658f8e2e68130_cgraph.png" border="0" usemap="#a00208_a82496fb437970a455fd658f8e2e68130_cgraph_map" alt=""></div>
<map name="a00208_a82496fb437970a455fd658f8e2e68130_cgraph_map" id="a00208_a82496fb437970a455fd658f8e2e68130_cgraph">
<area shape="rect" id="node3" href="a00096.html#ad7d1038e5be6651830b00b0dc030545d" title="Add an object to the end of the queue." alt="" coords="205,5,477,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae3ac8809069ebf5b1297a9802bde5c9e"></a><!-- doxytag: member="ucommon::push" ref="ae3ac8809069ebf5b1297a9802bde5c9e" args="(OrderedIndex &amp;fifo, LinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::push </td>
          <td>(</td>
          <td class="paramtype">OrderedIndex &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push a linked object onto a fifo of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to push object onto. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push onto fifo. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01959">1959</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae3ac8809069ebf5b1297a9802bde5c9e_cgraph.png" border="0" usemap="#a00208_ae3ac8809069ebf5b1297a9802bde5c9e_cgraph_map" alt=""></div>
<map name="a00208_ae3ac8809069ebf5b1297a9802bde5c9e_cgraph_map" id="a00208_ae3ac8809069ebf5b1297a9802bde5c9e_cgraph">
<area shape="rect" id="node3" href="a00100.html#a4f64e5ff97696e93946594e78fe75abf" title="Add an object into the ordered index." alt="" coords="205,5,488,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8abd5ab2fdeb1fde645c861778cb3f24"></a><!-- doxytag: member="ucommon::push" ref="a8abd5ab2fdeb1fde645c861778cb3f24" args="(ObjectStack &amp;stack, LinkedObject *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::push </td>
          <td>(</td>
          <td class="paramtype">ObjectStack &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LinkedObject *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Push a linked object onto a stack of linked objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to push object onto. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push onto stack. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00188_source.html#l01927">1927</a> of file <a class="el" href="a00188_source.html">linked.h</a>.</p>

</div>
</div>
<a class="anchor" id="a05a684294580146af54daf254ab68f21"></a><!-- doxytag: member="ucommon::push" ref="a05a684294580146af54daf254ab68f21" args="(fifo_t &amp;fifo, ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::push </td>
          <td>(</td>
          <td class="paramtype">fifo_t &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to push an object onto a fifo. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to push into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00181_source.html#l00694">694</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a05a684294580146af54daf254ab68f21_cgraph.png" border="0" usemap="#a00208_a05a684294580146af54daf254ab68f21_cgraph_map" alt=""></div>
<map name="a00208_a05a684294580146af54daf254ab68f21_cgraph_map" id="a00208_a05a684294580146af54daf254ab68f21_cgraph">
<area shape="rect" id="node3" href="a00111.html#a6359cffea4ecafa1526cac8e6f1d879a" title="Post an object into the queue by it&#39;s pointer." alt="" coords="207,5,428,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a36870182251dc08e9a3eac56452d6218"></a><!-- doxytag: member="ucommon::push" ref="a36870182251dc08e9a3eac56452d6218" args="(stack_t &amp;stack, ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::push </td>
          <td>(</td>
          <td class="paramtype">stack_t &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to push an object onto a stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to push into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to push. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00003.html#a1">linked.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00181_source.html#l00669">669</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a36870182251dc08e9a3eac56452d6218_cgraph.png" border="0" usemap="#a00208_a36870182251dc08e9a3eac56452d6218_cgraph_map" alt=""></div>
<map name="a00208_a36870182251dc08e9a3eac56452d6218_cgraph_map" id="a00208_a36870182251dc08e9a3eac56452d6218_cgraph">
<area shape="rect" id="node3" href="a00145.html#a1e87ca85d0b8df573f706bb74cd337ca" title="Push an object into the stack by it&#39;s pointer." alt="" coords="207,5,428,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae9c42524f9bed49eb0da7a443c36d1aa"></a><!-- doxytag: member="ucommon::release" ref="ae9c42524f9bed49eb0da7a443c36d1aa" args="(rexlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">rexlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a shared recursive mutex lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02243">2243</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae9c42524f9bed49eb0da7a443c36d1aa_cgraph.png" border="0" usemap="#a00208_ae9c42524f9bed49eb0da7a443c36d1aa_cgraph_map" alt=""></div>
<map name="a00208_ae9c42524f9bed49eb0da7a443c36d1aa_cgraph_map" id="a00208_ae9c42524f9bed49eb0da7a443c36d1aa_cgraph">
<area shape="rect" id="node3" href="a00114.html#aa56322f581c331e7f15049a0a9ecf3e9" title="Release or decrease locking." alt="" coords="239,5,580,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af250e8f47c069f733f78cf73855e45e6"></a><!-- doxytag: member="ucommon::release" ref="af250e8f47c069f733f78cf73855e45e6" args="(rwlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">rwlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a shared lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02229">2229</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_af250e8f47c069f733f78cf73855e45e6_cgraph.png" border="0" usemap="#a00208_af250e8f47c069f733f78cf73855e45e6_cgraph_map" alt=""></div>
<map name="a00208_af250e8f47c069f733f78cf73855e45e6_cgraph_map" id="a00208_af250e8f47c069f733f78cf73855e45e6_cgraph">
<area shape="rect" id="node3" href="a00157.html#adc28816b8692681307f59e29686402ec" title="Release an arbitrary object that has been protected by a rwlock." alt="" coords="239,5,540,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a171f36a021804ce628a3da7f2c19c7b6"></a><!-- doxytag: member="ucommon::release" ref="a171f36a021804ce628a3da7f2c19c7b6" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release shared access to a conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02206">2206</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a171f36a021804ce628a3da7f2c19c7b6_cgraph.png" border="0" usemap="#a00208_a171f36a021804ce628a3da7f2c19c7b6_cgraph_map" alt=""></div>
<map name="a00208_a171f36a021804ce628a3da7f2c19c7b6_cgraph_map" id="a00208_a171f36a021804ce628a3da7f2c19c7b6_cgraph">
<area shape="rect" id="node3" href="a00038.html#ae9a0b040d4d65870ac7d67d2b96cea50" title="Release a shared lock." alt="" coords="237,5,589,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a1e5c8030c3c086e9fa9d4116092da607"></a><!-- doxytag: member="ucommon::release" ref="a1e5c8030c3c086e9fa9d4116092da607" args="(accesslock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">accesslock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release an access lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02155">2155</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a1e5c8030c3c086e9fa9d4116092da607_cgraph.png" border="0" usemap="#a00208_a1e5c8030c3c086e9fa9d4116092da607_cgraph_map" alt=""></div>
<map name="a00208_a1e5c8030c3c086e9fa9d4116092da607_cgraph_map" id="a00208_a1e5c8030c3c086e9fa9d4116092da607_cgraph">
<area shape="rect" id="node3" href="a00037.html#a3a5a54da9274122f0d944f820eb1a806" title="Release access mode read scheduling." alt="" coords="239,5,609,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="adad46d50a99361486daa6c298d1a2d21"></a><!-- doxytag: member="ucommon::release" ref="adad46d50a99361486daa6c298d1a2d21" args="(mutex_t &amp;mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">mutex_t &amp;&nbsp;</td>
          <td class="paramname"> <em>mutex</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a mutex. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mutex</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02134">2134</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_adad46d50a99361486daa6c298d1a2d21_cgraph.png" border="0" usemap="#a00208_adad46d50a99361486daa6c298d1a2d21_cgraph_map" alt=""></div>
<map name="a00208_adad46d50a99361486daa6c298d1a2d21_cgraph_map" id="a00208_adad46d50a99361486daa6c298d1a2d21_cgraph">
<area shape="rect" id="node3" href="a00086.html#aa8e309c56ee0ff9f2d463b82c2e20030" title="Release acquired lock." alt="" coords="239,5,489,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ab40408ee1a0ecade11a865036007ed80"></a><!-- doxytag: member="ucommon::release" ref="ab40408ee1a0ecade11a865036007ed80" args="(semaphore_t &amp;semaphore)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">semaphore_t &amp;&nbsp;</td>
          <td class="paramname"> <em>semaphore</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a semaphore. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>semaphore</em>&nbsp;</td><td>to release. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02120">2120</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ab40408ee1a0ecade11a865036007ed80_cgraph.png" border="0" usemap="#a00208_ab40408ee1a0ecade11a865036007ed80_cgraph_map" alt=""></div>
<map name="a00208_ab40408ee1a0ecade11a865036007ed80_cgraph_map" id="a00208_ab40408ee1a0ecade11a865036007ed80_cgraph">
<area shape="rect" id="node3" href="a00119.html#ab75f833b69046a147260881d3cc51415" title="Release the semaphore after waiting for it." alt="" coords="239,5,529,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a36c7f21e255b789a27b71fe4ce4896a3"></a><!-- doxytag: member="ucommon::release" ref="a36c7f21e255b789a27b71fe4ce4896a3" args="(ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to access object release. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are releasing. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00500">500</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="a40cad4d2f99609499746d66063c5a04b"></a><!-- doxytag: member="ucommon::release" ref="a40cad4d2f99609499746d66063c5a04b" args="(shlock_t &amp;reference)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">shlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>reference</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a reference to a shared lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reference</em>&nbsp;</td><td>to object referencing shared locked object. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00286">286</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a40cad4d2f99609499746d66063c5a04b_cgraph.png" border="0" usemap="#a00208_a40cad4d2f99609499746d66063c5a04b_cgraph_map" alt=""></div>
<map name="a00208_a40cad4d2f99609499746d66063c5a04b_cgraph_map" id="a00208_a40cad4d2f99609499746d66063c5a04b_cgraph">
<area shape="rect" id="node3" href="a00123.html#ab228bedc31fa65db1608778ae5d21ffc" title="Release a held lock programmatically." alt="" coords="237,5,549,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a447e496c6053ef4532637ed44bec2b63"></a><!-- doxytag: member="ucommon::release" ref="a447e496c6053ef4532637ed44bec2b63" args="(exlock_t &amp;reference)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">exlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>reference</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to release a reference to an exclusive lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reference</em>&nbsp;</td><td>to object referencing exclusive locked object. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00279">279</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a447e496c6053ef4532637ed44bec2b63_cgraph.png" border="0" usemap="#a00208_a447e496c6053ef4532637ed44bec2b63_cgraph_map" alt=""></div>
<map name="a00208_a447e496c6053ef4532637ed44bec2b63_cgraph_map" id="a00208_a447e496c6053ef4532637ed44bec2b63_cgraph">
<area shape="rect" id="node3" href="a00048.html#af482434acdffdbf45128c0790940525a" title="Release a held lock programmatically." alt="" coords="239,5,580,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8df8e4b667d68be02961ff0d4cd84224"></a><!-- doxytag: member="ucommon::release" ref="a8df8e4b667d68be02961ff0d4cd84224" args="(SharedProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::release </td>
          <td>(</td>
          <td class="paramtype">SharedProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to unlock shared object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to unlock. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00248">248</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad56cf7e161bd829f5f9a325dcf3e6846"></a><!-- doxytag: member="ucommon::remove" ref="ad56cf7e161bd829f5f9a325dcf3e6846" args="(fifo_t &amp;fifo, ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::remove </td>
          <td>(</td>
          <td class="paramtype">fifo_t &amp;&nbsp;</td>
          <td class="paramname"> <em>fifo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to remove an object from a fifo. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo</em>&nbsp;</td><td>to remove from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to remove. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00181_source.html#l00711">711</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

</div>
</div>
<a class="anchor" id="affa5eb1d4a61e90fb1fc3c3a65a6d849"></a><!-- doxytag: member="ucommon::remove" ref="affa5eb1d4a61e90fb1fc3c3a65a6d849" args="(stack_t &amp;stack, ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::remove </td>
          <td>(</td>
          <td class="paramtype">stack_t &amp;&nbsp;</td>
          <td class="paramname"> <em>stack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to remove an object from a stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stack</em>&nbsp;</td><td>to remove from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to remove. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00181_source.html#l00686">686</a> of file <a class="el" href="a00181_source.html">containers.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e79ccf82d8397085e6eecf36edeecc7"></a><!-- doxytag: member="ucommon::retain" ref="a7e79ccf82d8397085e6eecf36edeecc7" args="(ObjectProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::retain </td>
          <td>(</td>
          <td class="paramtype">ObjectProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to access object retention. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>we are retaining. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00192_source.html#l00493">493</a> of file <a class="el" href="a00192_source.html">object.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae8121584dc72d5d51403c61aa4d3873f"></a><!-- doxytag: member="ucommon::share" ref="ae8121584dc72d5d51403c61aa4d3873f" args="(rwlock_t &amp;lock, timeout_t timeout=Timer::inf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ucommon::share </td>
          <td>(</td>
          <td class="paramtype">rwlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>Timer::inf</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function for shared read access to a read/write lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to share read lock. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>to wait for shared access. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02222">2222</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ae8121584dc72d5d51403c61aa4d3873f_cgraph.png" border="0" usemap="#a00208_ae8121584dc72d5d51403c61aa4d3873f_cgraph_map" alt=""></div>
<map name="a00208_ae8121584dc72d5d51403c61aa4d3873f_cgraph_map" id="a00208_ae8121584dc72d5d51403c61aa4d3873f_cgraph">
<area shape="rect" id="node3" href="a00157.html#a6809ba3a3e992cdd9f7688b4d9d52bb1" title="Request shared (read) access through the lock." alt="" coords="217,5,508,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2a6157c301532362884a18c25c098c52"></a><!-- doxytag: member="ucommon::share" ref="a2a6157c301532362884a18c25c098c52" args="(condlock_t &amp;lock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::share </td>
          <td>(</td>
          <td class="paramtype">condlock_t &amp;&nbsp;</td>
          <td class="paramname"> <em>lock</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to restore shared access on a conditional lock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lock</em>&nbsp;</td><td>to make shared. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02177">2177</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a2a6157c301532362884a18c25c098c52_cgraph.png" border="0" usemap="#a00208_a2a6157c301532362884a18c25c098c52_cgraph_map" alt=""></div>
<map name="a00208_a2a6157c301532362884a18c25c098c52_cgraph_map" id="a00208_a2a6157c301532362884a18c25c098c52_cgraph">
<area shape="rect" id="node3" href="a00038.html#a93aa50cae673c104a3436940de1e63b8" title="Return an exclusive access lock back to share mode." alt="" coords="217,5,548,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa738a981d717c379a3facda88eafbdea"></a><!-- doxytag: member="ucommon::share" ref="aa738a981d717c379a3facda88eafbdea" args="(SharedProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::share </td>
          <td>(</td>
          <td class="paramtype">SharedProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to restore shared locking for object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to restore shared locking. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00262">262</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad9c387d81bbd692673cb269301fa0977"></a><!-- doxytag: member="ucommon::start" ref="ad9c387d81bbd692673cb269301fa0977" args="(DetachedThread *thread, int priority=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::start </td>
          <td>(</td>
          <td class="paramtype">DetachedThread *&nbsp;</td>
          <td class="paramname"> <em>thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to start a detached thread. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thread</em>&nbsp;</td><td>to start. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>of thread. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02058">2058</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_ad9c387d81bbd692673cb269301fa0977_cgraph.png" border="0" usemap="#a00208_ad9c387d81bbd692673cb269301fa0977_cgraph_map" alt=""></div>
<map name="a00208_ad9c387d81bbd692673cb269301fa0977_cgraph_map" id="a00208_ad9c387d81bbd692673cb269301fa0977_cgraph">
<area shape="rect" id="node3" href="a00045.html#a55bee7740e411af3dcf6cc9472813e9e" title="Start execution of detached context." alt="" coords="216,5,539,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3c62610106837fc4ebbe70e9001bdb2f"></a><!-- doxytag: member="ucommon::start" ref="a3c62610106837fc4ebbe70e9001bdb2f" args="(JoinableThread *thread, int priority=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::start </td>
          <td>(</td>
          <td class="paramtype">JoinableThread *&nbsp;</td>
          <td class="paramname"> <em>thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to start a joinable thread. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thread</em>&nbsp;</td><td>to start. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>of thread. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="a00010.html#a0">thread.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="a00202_source.html#l02050">2050</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a3c62610106837fc4ebbe70e9001bdb2f_cgraph.png" border="0" usemap="#a00208_a3c62610106837fc4ebbe70e9001bdb2f_cgraph_map" alt=""></div>
<map name="a00208_a3c62610106837fc4ebbe70e9001bdb2f_cgraph_map" id="a00208_a3c62610106837fc4ebbe70e9001bdb2f_cgraph">
<area shape="rect" id="node3" href="a00053.html#a87db5eaad6e8f35c6d9881308b063439" title="Start execution of child context." alt="" coords="216,5,539,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ac9553f1db00795e69cb24dd54b023247"></a><!-- doxytag: member="ucommon::stricmp" ref="ac9553f1db00795e69cb24dd54b023247" args="(const char *string1, const char *string2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ucommon::stricmp </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function for case insensitive null terminated string compare. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>string1</em>&nbsp;</td><td>to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>string2</em>&nbsp;</td><td>to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if equal, &gt; 0 if s2 &gt; s1, &lt; 0 if s2 &lt; s1. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01639">1639</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1c364e071100a7f775ce2058749b2c63"></a><!-- doxytag: member="ucommon::strnicmp" ref="a1c364e071100a7f775ce2058749b2c63" args="(const char *string1, const char *string2, size_t max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ucommon::strnicmp </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>max</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function for case insensitive null terminated string compare. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>string1</em>&nbsp;</td><td>to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>string2</em>&nbsp;</td><td>to compare. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>max</em>&nbsp;</td><td>size of string to compare. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if equal, &gt; 0 if s2 &gt; s1, &lt; 0 if s2 &lt; s1. </dd></dl>

<p>Definition at line <a class="el" href="a00201_source.html#l01649">1649</a> of file <a class="el" href="a00201_source.html">string.h</a>.</p>

</div>
</div>
<a class="anchor" id="a34c6e62e062c6cae0242ac1f51c09ec7"></a><!-- doxytag: member="ucommon::swap" ref="a34c6e62e062c6cae0242ac1f51c09ec7" args="(T &amp;o1, T &amp;o2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::swap </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>o2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to swap objects. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>o1</em>&nbsp;</td><td>to swap. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>o2</em>&nbsp;</td><td>to swap. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00186_source.html#l00473">473</a> of file <a class="el" href="a00186_source.html">generics.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a34c6e62e062c6cae0242ac1f51c09ec7_cgraph.png" border="0" usemap="#a00208_a34c6e62e062c6cae0242ac1f51c09ec7_cgraph_map" alt=""></div>
<map name="a00208_a34c6e62e062c6cae0242ac1f51c09ec7_cgraph_map" id="a00208_a34c6e62e062c6cae0242ac1f51c09ec7_cgraph">
<area shape="rect" id="node3" href="a00194.html#a4880da985609d497e8ddb71652ca1e33" title="Portable swap code." alt="" coords="207,5,337,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a06fc306b76334e4410e554d683ae790b"></a><!-- doxytag: member="ucommon::unlock" ref="a06fc306b76334e4410e554d683ae790b" args="(ExclusiveProtocol *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::unlock </td>
          <td>(</td>
          <td class="paramtype">ExclusiveProtocol *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to unlock an exclusive object through it's protocol. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>to unlock. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00177_source.html#l00234">234</a> of file <a class="el" href="a00177_source.html">access.h</a>.</p>

</div>
</div>
<a class="anchor" id="a333b7825bb02a3a0429e8c2153b130b2"></a><!-- doxytag: member="ucommon::wait" ref="a333b7825bb02a3a0429e8c2153b130b2" args="(semaphore_t &amp;semaphore, timeout_t timeout=Timer::inf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::wait </td>
          <td>(</td>
          <td class="paramtype">semaphore_t &amp;&nbsp;</td>
          <td class="paramname"> <em>semaphore</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00194.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>Timer::inf</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to wait on a semaphore. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>semaphore</em>&nbsp;</td><td>to wait on. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>to wait for. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02113">2113</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a333b7825bb02a3a0429e8c2153b130b2_cgraph.png" border="0" usemap="#a00208_a333b7825bb02a3a0429e8c2153b130b2_cgraph_map" alt=""></div>
<map name="a00208_a333b7825bb02a3a0429e8c2153b130b2_cgraph_map" id="a00208_a333b7825bb02a3a0429e8c2153b130b2_cgraph">
<area shape="rect" id="node3" href="a00119.html#acd81d0597579f11e7302467f8e1a1a17" title="Wait until the semphore usage count is less than the thread limit." alt="" coords="207,5,468,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5c50c87fd1eb5b1ac93dffa0ee6f9af5"></a><!-- doxytag: member="ucommon::wait" ref="a5c50c87fd1eb5b1ac93dffa0ee6f9af5" args="(barrier_t &amp;barrier)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::wait </td>
          <td>(</td>
          <td class="paramtype">barrier_t &amp;&nbsp;</td>
          <td class="paramname"> <em>barrier</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to wait on a barrier. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>barrier</em>&nbsp;</td><td>to wait. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="a00202_source.html#l02105">2105</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00208_a5c50c87fd1eb5b1ac93dffa0ee6f9af5_cgraph.png" border="0" usemap="#a00208_a5c50c87fd1eb5b1ac93dffa0ee6f9af5_cgraph_map" alt=""></div>
<map name="a00208_a5c50c87fd1eb5b1ac93dffa0ee6f9af5_cgraph_map" id="a00208_a5c50c87fd1eb5b1ac93dffa0ee6f9af5_cgraph">
<area shape="rect" id="node3" href="a00024.html#abac6db6b75abd87d2cf515dd55a40625" title="Wait at the barrier until the count of threads waiting is reached." alt="" coords="205,5,448,32"/></map>
</div>
</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:27 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>