Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 235

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>GNU CommonC++: ost::MapTable Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_map_table.html">MapTable</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classost_1_1_map_table-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::MapTable Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A map table allows for entities to be mapped (hash index) onto it.  
 <a href="classost_1_1_map_table.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="object_8h_source.html">object.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::MapTable:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_map_table.png" usemap="#ost::MapTable_map" alt=""/>
  <map id="ost::MapTable_map" name="ost::MapTable_map">
<area href="classost_1_1_mutex.html" title="The Mutex class is used to protect a section of code so that at any given time only a single thread c..." alt="ost::Mutex" shape="rect" coords="0,0,90,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5cb1baf9cbdcb47b429a07215d6f2131"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a5cb1baf9cbdcb47b429a07215d6f2131">MapTable</a> (unsigned size)</td></tr>
<tr class="memdesc:a5cb1baf9cbdcb47b429a07215d6f2131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a map table with a specified number of slots.  <a href="#a5cb1baf9cbdcb47b429a07215d6f2131">More...</a><br/></td></tr>
<tr class="separator:a5cb1baf9cbdcb47b429a07215d6f2131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41b85b01b85eb7a6471b79685705fa29"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a41b85b01b85eb7a6471b79685705fa29">~MapTable</a> ()</td></tr>
<tr class="memdesc:a41b85b01b85eb7a6471b79685705fa29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the table, calls cleanup.  <a href="#a41b85b01b85eb7a6471b79685705fa29">More...</a><br/></td></tr>
<tr class="separator:a41b85b01b85eb7a6471b79685705fa29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07c9740944b2fd846fa23585b75e3d9d"><td class="memItemLeft" align="right" valign="top">virtual unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a07c9740944b2fd846fa23585b75e3d9d">getIndex</a> (const char *id)</td></tr>
<tr class="memdesc:a07c9740944b2fd846fa23585b75e3d9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get index value from id string.  <a href="#a07c9740944b2fd846fa23585b75e3d9d">More...</a><br/></td></tr>
<tr class="separator:a07c9740944b2fd846fa23585b75e3d9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8b1c538691c04ebe20bcbd37f93df6d"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#aa8b1c538691c04ebe20bcbd37f93df6d">getRange</a> (void)</td></tr>
<tr class="memdesc:aa8b1c538691c04ebe20bcbd37f93df6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return range of this table.  <a href="#aa8b1c538691c04ebe20bcbd37f93df6d">More...</a><br/></td></tr>
<tr class="separator:aa8b1c538691c04ebe20bcbd37f93df6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb0c62a29b659058fbbafef603204dd"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a9cb0c62a29b659058fbbafef603204dd">getSize</a> (void)</td></tr>
<tr class="memdesc:a9cb0c62a29b659058fbbafef603204dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of object stored in this table.  <a href="#a9cb0c62a29b659058fbbafef603204dd">More...</a><br/></td></tr>
<tr class="separator:a9cb0c62a29b659058fbbafef603204dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bdbde637f2fb0480b1ceb8ead4bccdb"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a1bdbde637f2fb0480b1ceb8ead4bccdb">getObject</a> (const char *id)</td></tr>
<tr class="memdesc:a1bdbde637f2fb0480b1ceb8ead4bccdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lookup an object by id key.  <a href="#a1bdbde637f2fb0480b1ceb8ead4bccdb">More...</a><br/></td></tr>
<tr class="separator:a1bdbde637f2fb0480b1ceb8ead4bccdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae4402514b29270220847071d2a40a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a2ae4402514b29270220847071d2a40a6">addObject</a> (<a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;obj)</td></tr>
<tr class="memdesc:a2ae4402514b29270220847071d2a40a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map an object to our table.  <a href="#a2ae4402514b29270220847071d2a40a6">More...</a><br/></td></tr>
<tr class="separator:a2ae4402514b29270220847071d2a40a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e3014a9f52b283878fab8f5803508dc"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a7e3014a9f52b283878fab8f5803508dc">getFirst</a> ()</td></tr>
<tr class="memdesc:a7e3014a9f52b283878fab8f5803508dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first element into table, it is returned as void * for easy re-cast.  <a href="#a7e3014a9f52b283878fab8f5803508dc">More...</a><br/></td></tr>
<tr class="separator:a7e3014a9f52b283878fab8f5803508dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa20d872102265b9473988c82edb55d51"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#aa20d872102265b9473988c82edb55d51">getLast</a> ()</td></tr>
<tr class="memdesc:aa20d872102265b9473988c82edb55d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last element into table, it is returned as void * for easy re-cast.  <a href="#aa20d872102265b9473988c82edb55d51">More...</a><br/></td></tr>
<tr class="separator:aa20d872102265b9473988c82edb55d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3e0591711bdf8b9fe36f10eac697c3"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#ade3e0591711bdf8b9fe36f10eac697c3">getEnd</a> ()</td></tr>
<tr class="memdesc:ade3e0591711bdf8b9fe36f10eac697c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get table's end, useful for cycle control; it is returned as void * for easy re-cast.  <a href="#ade3e0591711bdf8b9fe36f10eac697c3">More...</a><br/></td></tr>
<tr class="separator:ade3e0591711bdf8b9fe36f10eac697c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2e352093e48831f567e3b0b91f4d9bb"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#af2e352093e48831f567e3b0b91f4d9bb">getFree</a> (void)</td></tr>
<tr class="memdesc:af2e352093e48831f567e3b0b91f4d9bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next object from managed free list.  <a href="#af2e352093e48831f567e3b0b91f4d9bb">More...</a><br/></td></tr>
<tr class="separator:af2e352093e48831f567e3b0b91f4d9bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae025e47a6545e0a2c5192de300924764"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#ae025e47a6545e0a2c5192de300924764">addFree</a> (<a class="el" href="classost_1_1_map_object.html">MapObject</a> *obj)</td></tr>
<tr class="memdesc:ae025e47a6545e0a2c5192de300924764"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an object to the managed free list.  <a href="#ae025e47a6545e0a2c5192de300924764">More...</a><br/></td></tr>
<tr class="separator:ae025e47a6545e0a2c5192de300924764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cade237b6cbe186b00ad50f6561443d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_map_table.html">MapTable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a5cade237b6cbe186b00ad50f6561443d">operator+=</a> (<a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;obj)</td></tr>
<tr class="memdesc:a5cade237b6cbe186b00ad50f6561443d"><td class="mdescLeft">&#160;</td><td class="mdescRight">An operator to map an object to the table.  <a href="#a5cade237b6cbe186b00ad50f6561443d">More...</a><br/></td></tr>
<tr class="separator:a5cade237b6cbe186b00ad50f6561443d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6e0b700fc9cb734df0c301bbc36ab7f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classost_1_1_map_table.html">MapTable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#ae6e0b700fc9cb734df0c301bbc36ab7f">operator-=</a> (<a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;obj)</td></tr>
<tr class="memdesc:ae6e0b700fc9cb734df0c301bbc36ab7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This operator is virtual in case it must also add the object to a managed free list.  <a href="#ae6e0b700fc9cb734df0c301bbc36ab7f">More...</a><br/></td></tr>
<tr class="separator:ae6e0b700fc9cb734df0c301bbc36ab7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_mutex"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_mutex')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_mutex.html">ost::Mutex</a></td></tr>
<tr class="memitem:a22e6ce5d9d8d209dac70e39310459202 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a22e6ce5d9d8d209dac70e39310459202">Mutex</a> (const char *name=NULL)</td></tr>
<tr class="memdesc:a22e6ce5d9d8d209dac70e39310459202 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">The mutex is always initialized as a recursive entity.  <a href="#a22e6ce5d9d8d209dac70e39310459202">More...</a><br/></td></tr>
<tr class="separator:a22e6ce5d9d8d209dac70e39310459202 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a5ccc1c2e7278d8adc47fd728706c33a8">~Mutex</a> ()</td></tr>
<tr class="memdesc:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroying the mutex removes any system resources associated with it.  <a href="#a5ccc1c2e7278d8adc47fd728706c33a8">More...</a><br/></td></tr>
<tr class="separator:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#abed8b05b63f9cdd2c9ca1f92081b1a8a">nameMutex</a> (const char *name)</td></tr>
<tr class="memdesc:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable setting of mutex name for deadlock debug.  <a href="#abed8b05b63f9cdd2c9ca1f92081b1a8a">More...</a><br/></td></tr>
<tr class="separator:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1471d0c2114e5c49e1fe7152448378 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#adc1471d0c2114e5c49e1fe7152448378">enterMutex</a> (void)</td></tr>
<tr class="memdesc:adc1471d0c2114e5c49e1fe7152448378 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entering a <a class="el" href="classost_1_1_mutex.html" title="The Mutex class is used to protect a section of code so that at any given time only a single thread c...">Mutex</a> locks the mutex for the current thread.  <a href="#adc1471d0c2114e5c49e1fe7152448378">More...</a><br/></td></tr>
<tr class="separator:adc1471d0c2114e5c49e1fe7152448378 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecb516325583e432bf2bf7e4b565f6f6 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#aecb516325583e432bf2bf7e4b565f6f6">enter</a> (void)</td></tr>
<tr class="memdesc:aecb516325583e432bf2bf7e4b565f6f6 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#aecb516325583e432bf2bf7e4b565f6f6">More...</a><br/></td></tr>
<tr class="separator:aecb516325583e432bf2bf7e4b565f6f6 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6aaecac9c95d31a5862014d7f1afe73 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#ab6aaecac9c95d31a5862014d7f1afe73">leave</a> (void)</td></tr>
<tr class="memdesc:ab6aaecac9c95d31a5862014d7f1afe73 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#ab6aaecac9c95d31a5862014d7f1afe73">More...</a><br/></td></tr>
<tr class="separator:ab6aaecac9c95d31a5862014d7f1afe73 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ff5454b2c9b55790c4bf33f751704c inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#ac1ff5454b2c9b55790c4bf33f751704c">test</a> (void)</td></tr>
<tr class="memdesc:ac1ff5454b2c9b55790c4bf33f751704c inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#ac1ff5454b2c9b55790c4bf33f751704c">More...</a><br/></td></tr>
<tr class="separator:ac1ff5454b2c9b55790c4bf33f751704c inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa46b490ac92017ef89980b0020bff8c0 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#aa46b490ac92017ef89980b0020bff8c0">tryEnterMutex</a> (void)</td></tr>
<tr class="memdesc:aa46b490ac92017ef89980b0020bff8c0 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the mutex for the current thread.  <a href="#aa46b490ac92017ef89980b0020bff8c0">More...</a><br/></td></tr>
<tr class="separator:aa46b490ac92017ef89980b0020bff8c0 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403208d275c4c7b8087a40259b0cb0f3 inherit pub_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a403208d275c4c7b8087a40259b0cb0f3">leaveMutex</a> (void)</td></tr>
<tr class="memdesc:a403208d275c4c7b8087a40259b0cb0f3 inherit pub_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Leaving a mutex frees that mutex for use by another thread.  <a href="#a403208d275c4c7b8087a40259b0cb0f3">More...</a><br/></td></tr>
<tr class="separator:a403208d275c4c7b8087a40259b0cb0f3 inherit pub_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a4603e784aa64184f4590b1b33eea6c60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a4603e784aa64184f4590b1b33eea6c60">cleanup</a> (void)</td></tr>
<tr class="separator:a4603e784aa64184f4590b1b33eea6c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ae45620bcf37da41ab3089710e4dbfd32"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#ae45620bcf37da41ab3089710e4dbfd32">range</a></td></tr>
<tr class="separator:ae45620bcf37da41ab3089710e4dbfd32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa22711b1f0ea9ccdc78bb1c1b45d3af2"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#aa22711b1f0ea9ccdc78bb1c1b45d3af2">count</a></td></tr>
<tr class="separator:aa22711b1f0ea9ccdc78bb1c1b45d3af2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5ec0ac04b3d1b1d4e8af79f759bd87b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_map_object.html">MapObject</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#aa5ec0ac04b3d1b1d4e8af79f759bd87b">map</a></td></tr>
<tr class="separator:aa5ec0ac04b3d1b1d4e8af79f759bd87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ad3a0f850a471fb5553eb77ee29b0af44"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#ad3a0f850a471fb5553eb77ee29b0af44">MapObject</a></td></tr>
<tr class="separator:ad3a0f850a471fb5553eb77ee29b0af44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cd428384a9c342d8e5fdadf7139dc0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_map_table.html#a28cd428384a9c342d8e5fdadf7139dc0">MapIndex</a></td></tr>
<tr class="separator:a28cd428384a9c342d8e5fdadf7139dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classost_1_1_mutex"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_mutex')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_mutex.html">ost::Mutex</a></td></tr>
<tr class="memitem:a83b66f786e344b5192a3993d319aa735 inherit pub_static_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a83b66f786e344b5192a3993d319aa735">setDebug</a> (bool mode)</td></tr>
<tr class="memdesc:a83b66f786e344b5192a3993d319aa735 inherit pub_static_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable deadlock debugging.  <a href="#a83b66f786e344b5192a3993d319aa735">More...</a><br/></td></tr>
<tr class="separator:a83b66f786e344b5192a3993d319aa735 inherit pub_static_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A map table allows for entities to be mapped (hash index) onto it. </p>
<p>Unlike with <a class="el" href="classost_1_1_assoc.html" title="This class is used to associate (object) pointers with named strings. ">Assoc</a>, This form of map table also allows objects to be removed from the table. This table also includes a mutex lock for thread safety. A free list is also optionally maintained for reusable maps.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@gn'+'ut'+'ele'+'ph'+'ony'+'.o'+'rg'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@gnu<span style="display: none;">.nosp@m.</span>telep<span style="display: none;">.nosp@m.</span>hony<span style="display: none;">.nosp@m.</span>.org</a> Table to hold hash indexed objects. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5cb1baf9cbdcb47b429a07215d6f2131"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::MapTable::MapTable </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a map table with a specified number of slots. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>of slots. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a41b85b01b85eb7a6471b79685705fa29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::MapTable::~MapTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destroy the table, calls cleanup. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae025e47a6545e0a2c5192de300924764"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::MapTable::addFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_map_object.html">MapObject</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an object to the managed free list. </p>
<p>Some <a class="el" href="classost_1_1_map_object.html" title="The MapObject is a base class which can be used to make a derived class operate on a MapTable...">MapObject</a>'s may override delete operator to detach and do this.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">object</td><td>to add. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2ae4402514b29270220847071d2a40a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::MapTable::addObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map an object to our table. </p>
<p>If it is in another table already, it is removed there first.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">object</td><td>to map. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4603e784aa64184f4590b1b33eea6c60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::MapTable::cleanup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ade3e0591711bdf8b9fe36f10eac697c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* ost::MapTable::getEnd </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get table's end, useful for cycle control; it is returned as void * for easy re-cast. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to found object or NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="a7e3014a9f52b283878fab8f5803508dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ost::MapTable::getFirst </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the first element into table, it is returned as void * for easy re-cast. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to found object or NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="af2e352093e48831f567e3b0b91f4d9bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ost::MapTable::getFree </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get next object from managed free list. </p>
<p>This returns as a void so it can be recast into the actual type being used in derived <a class="el" href="classost_1_1_map_object.html" title="The MapObject is a base class which can be used to make a derived class operate on a MapTable...">MapObject</a>'s. A derived version of <a class="el" href="classost_1_1_map_table.html" title="A map table allows for entities to be mapped (hash index) onto it. ">MapTable</a> may well offer an explicit type version of this. Some derived <a class="el" href="classost_1_1_map_object.html" title="The MapObject is a base class which can be used to make a derived class operate on a MapTable...">MapObject</a>'s may override new to use managed list.</p>
<dl class="section return"><dt>Returns</dt><dd>next object on free list. </dd></dl>

</div>
</div>
<a class="anchor" id="a07c9740944b2fd846fa23585b75e3d9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned ost::MapTable::getIndex </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get index value from id string. </p>
<p>This function can be changed as needed to provide better collision avoidence for specific tables.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index slot in table. </dd></dl>

</div>
</div>
<a class="anchor" id="aa20d872102265b9473988c82edb55d51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ost::MapTable::getLast </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the last element into table, it is returned as void * for easy re-cast. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to found object or NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="a1bdbde637f2fb0480b1ceb8ead4bccdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ost::MapTable::getObject </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lookup an object by id key. </p>
<p>It is returned as void * for easy re-cast.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>to find. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to found object or NULL. </dd></dl>

</div>
</div>
<a class="anchor" id="aa8b1c538691c04ebe20bcbd37f93df6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned ost::MapTable::getRange </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return range of this table. </p>
<dl class="section return"><dt>Returns</dt><dd>table range. </dd></dl>

</div>
</div>
<a class="anchor" id="a9cb0c62a29b659058fbbafef603204dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned ost::MapTable::getSize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the number of object stored in this table. </p>
<dl class="section return"><dt>Returns</dt><dd>table size. </dd></dl>

</div>
</div>
<a class="anchor" id="a5cade237b6cbe186b00ad50f6561443d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_map_table.html">MapTable</a>&amp; ost::MapTable::operator+= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An operator to map an object to the table. </p>
<dl class="section return"><dt>Returns</dt><dd>table being used. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">object</td><td>being mapped. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae6e0b700fc9cb734df0c301bbc36ab7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classost_1_1_map_table.html">MapTable</a>&amp; ost::MapTable::operator-= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_map_object.html">MapObject</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This operator is virtual in case it must also add the object to a managed free list. </p>
<dl class="section return"><dt>Returns</dt><dd>current table. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">object</td><td>entity to remove. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a28cd428384a9c342d8e5fdadf7139dc0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_map_index.html">MapIndex</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad3a0f850a471fb5553eb77ee29b0af44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_map_object.html">MapObject</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aa22711b1f0ea9ccdc78bb1c1b45d3af2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned ost::MapTable::count</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa5ec0ac04b3d1b1d4e8af79f759bd87b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_map_object.html">MapObject</a>** ost::MapTable::map</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae45620bcf37da41ab3089710e4dbfd32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned ost::MapTable::range</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="object_8h_source.html">object.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>