<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: csutil/hash.h File Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>csutil/hash.h File Reference</h1>A generic hash table. <a href="#_details">More...</a> <p> <code>#include "csextern.h"</code><br> <code>#include "<a class="el" href="csutil_2array_8h-source.html">csutil/array.h</a>"</code><br> <code>#include "<a class="el" href="comparator_8h-source.html">csutil/comparator.h</a>"</code><br> <code>#include "<a class="el" href="util_8h-source.html">csutil/util.h</a>"</code><br> <code>#include "<a class="el" href="tuple_8h-source.html">csutil/tuple.h</a>"</code><br> <p> <a href="hash_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConstPtrKey.html">csConstPtrKey< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A helper template to use const pointers as keys for hashes. <a href="classcsConstPtrKey.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash.html">csHash< T, K, ArrayMemoryAlloc ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A generic hash table class, which grows dynamically and whose buckets are unsorted arrays. <a href="classcsHash.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash_1_1ConstGlobalIterator.html">csHash< T, K, ArrayMemoryAlloc >::ConstGlobalIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An const iterator class for the hash. <a href="classcsHash_1_1ConstGlobalIterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash_1_1ConstIterator.html">csHash< T, K, ArrayMemoryAlloc >::ConstIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An const iterator class for the hash. <a href="classcsHash_1_1ConstIterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structcsHash_1_1Element.html">csHash< T, K, ArrayMemoryAlloc >::Element</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash_1_1GlobalIterator.html">csHash< T, K, ArrayMemoryAlloc >::GlobalIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An iterator class for the hash. <a href="classcsHash_1_1GlobalIterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash_1_1Iterator.html">csHash< T, K, ArrayMemoryAlloc >::Iterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">An iterator class for the hash. <a href="classcsHash_1_1Iterator.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer.html">csHashComputer< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template for hash value computing. <a href="classcsHashComputer.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01const_01char_01_5_01_4.html">csHashComputer< const char * ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">csHashComputer<> specialization for strings that uses <a class="el" href="group__util__containers.html#gb805c6e597fbb1d73233fecf4c050a6e" title="Compute a hash key for a null-terminated string.">csHashCompute()</a>. <a href="classcsHashComputer_3_01const_01char_01_5_01_4.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01double_01_4.html">csHashComputer< double ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01float_01_4.html">csHashComputer< float ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01int_01_4.html">csHashComputer< int ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01long_01_4.html">csHashComputer< long ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01longlong_01_4.html">csHashComputer< longlong ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01ulonglong_01_4.html">csHashComputer< ulonglong ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01unsigned_01int_01_4.html">csHashComputer< unsigned int ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01unsigned_01long_01_4.html">csHashComputer< unsigned long ></a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01void_01_5_01_4.html">csHashComputer< void * ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">csHashComputer<> specialization for an integral type. <a href="classcsHashComputer_3_01void_01_5_01_4.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerIntegral.html">csHashComputerIntegral< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template for hash value computing, suitable for integral types and types that can be casted to such. <a href="classcsHashComputerIntegral.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerString.html">csHashComputerString< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template that can be used as a base class for hash computers for string types (must support cast to const char*). <a href="classcsHashComputerString.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerStruct.html">csHashComputerStruct< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template that can be used as a base class for hash computers for POD structs. <a href="classcsHashComputerStruct.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPtrKey.html">csPtrKey< T ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A helper template to use pointers as keys for hashes. <a href="classcsPtrKey.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g440290362fd5eacc043fbf55698cfa81">csHashCompute</a> (char const *, size_t length)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute a hash key for a string of a given length. <a href="group__util__containers.html#g440290362fd5eacc043fbf55698cfa81"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gb805c6e597fbb1d73233fecf4c050a6e">csHashCompute</a> (char const *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute a hash key for a null-terminated string. <a href="group__util__containers.html#gb805c6e597fbb1d73233fecf4c050a6e"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A generic hash table. <p> <p>Definition in file <a class="el" href="hash_8h-source.html">hash.h</a>.</p> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>