<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="polydoc.xsl"?>
<polydoc>
<title>Structure HashArray</title>
<navigation>
<parent href="Basis.html">Basis</parent>
<previous href="Foreign.xml">Foreign</previous>
<next href="Signal.xml">Signal</next>
</navigation>
<headtext>
<p> Hash table type - Creates a hash table of specified initial size. This
   version expands the hash table and rehashes when the table gets too full
</p></headtext>
<topdecs>
<summary>structure HashArray:
sig
    type 'a hash 
    val hash: int -&gt; 'a hash
    val update: 'a hash * string * 'a -&gt; unit
    val sub: 'a hash * string -&gt; 'a option
    val delete: 'a hash * string -&gt; unit
    val fold: (string * 'a * 'b -&gt; 'b) -&gt; 'b -&gt; 'a hash -&gt; 'b
end
</summary>
<bindings><binding>
<code>type 'a <definition>hash</definition> 
</code>
<text><p> The hashtable type </p></text>
</binding>
<binding>
<code>val <definition>hash</definition> : int -&gt; 'a hash
</code>
<text><p> Create a hash table with a given initial size. </p></text>
</binding>
<binding>
<code>val <definition>update</definition> : 'a hash * string * 'a -&gt; unit
</code>
<text><p> Add a new entry to the table or update an existing one.  The table will
        grow if necessary. </p></text>
</binding>
<binding>
<code>val <definition>sub</definition> : 'a hash * string -&gt; 'a option
</code>
<text><p> Search for an entry.  Returns SOME if the entry exists or NONE if it does not. </p></text>
</binding>
<binding>
<code>val <definition>delete</definition> : 'a hash * string -&gt; unit
</code>
<text><p> Delete an entry from the table. </p></text>
</binding>
<binding>
<code>val <definition>fold</definition> : (string * 'a * 'b -&gt; 'b) -&gt; 'b -&gt; 'a hash -&gt; 'b
</code>
<text><p> Fold a function over all the entries in the table. </p></text>
</binding>
</bindings>
</topdecs>
<tailtext>
<p></p></tailtext>
</polydoc>
