mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
2 lines
No EOL
15 KiB
HTML
2 lines
No EOL
15 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCPersistentHashtbl.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../index.html">containers</a> » <a href="../index.html">CCPersistentHashtbl</a> » Make</nav><h1>Module <code>CCPersistentHashtbl.Make</code></h1><nav class="toc"><ul><li><a href="#conversions">Conversions</a></li><li><a href="#misc">Misc</a></li></ul></nav></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-H/index.html">H</a> : <a href="../index.html#module-type-HashedType">HashedType</a></code></li></ul><h3 class="heading">Signature</h3><dl><dt class="spec type" id="type-key"><a href="#type-key" class="anchor"></a><code><span class="keyword">type</span> key</code><code> = <a href="argument-1-H/index.html#type-t">H.t</a></code></dt><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> 'a t</code></dt></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : unit <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Empty table. The table will be allocated at the first binding.</p></dd></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : int <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Create a new hashtable, with the given initial capacity.</p></dd></dl><dl><dt class="spec value" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span class="keyword">val</span> is_empty : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt><dd><p>Is the table empty?</p></dd></dl><dl><dt class="spec value" id="val-find"><a href="#val-find" class="anchor"></a><code><span class="keyword">val</span> find : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Find the value for this key, or fails.</p><dl><dt>raises Not_found</dt><dd><p>if the key is not present in the table.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-get_exn"><a href="#val-get_exn" class="anchor"></a><code><span class="keyword">val</span> get_exn : <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'a</span></code></dt><dd><p>Synonym to <a href="index.html#val-find"><code>find</code></a> with flipped arguments.</p></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'a</span> option</code></dt><dd><p>Safe version of <a href="index.html#val-get_exn"><code>get_exn</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val</span> mem : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> bool</code></dt><dd><p>Is the key bound?</p></dd></dl><dl><dt class="spec value" id="val-length"><a href="#val-length" class="anchor"></a><code><span class="keyword">val</span> length : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span>-></span> int</code></dt><dd><p>Number of bindings.</p></dd></dl><dl><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val</span> add : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Add the binding to the table, returning a new table. The old binding for this key, if it exists, is shadowed and will be restored upon <code>remove tbl k</code>.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl><dl><dt class="spec value" id="val-replace"><a href="#val-replace" class="anchor"></a><code><span class="keyword">val</span> replace : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Add the binding to the table, returning a new table. This erases the current binding for <code>key</code>, if any.</p></dd></dl><dl><dt class="spec value" id="val-update"><a href="#val-update" class="anchor"></a><code><span class="keyword">val</span> update : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> (<span class="type-var">'a</span> option <span>-></span> <span class="type-var">'a</span> option) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>update tbl key f</code> calls <code>f None</code> if <code>key</code> doesn't belong in <code>tbl</code>, <code>f (Some v)</code> if <code>key -> v</code> otherwise; If <code>f</code> returns <code>None</code> then <code>key</code> is removed, else it returns <code>Some v'</code> and <code>key -> v'</code> is added.</p></dd></dl><dl><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val</span> remove : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Remove the key.</p></dd></dl><dl><dt class="spec value" id="val-copy"><a href="#val-copy" class="anchor"></a><code><span class="keyword">val</span> copy : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Fresh copy of the table; the underlying structure is not shared anymore, so using both tables alternatively will be efficient.</p></dd></dl><dl><dt class="spec value" id="val-merge"><a href="#val-merge" class="anchor"></a><code><span class="keyword">val</span> merge : f:(<a href="index.html#type-key">key</a> <span>-></span> [ `Left of <span class="type-var">'a</span> | `Right of <span class="type-var">'b</span> | `Both of <span class="type-var">'a</span> * <span class="type-var">'b</span> ] <span>-></span> <span class="type-var">'c</span> option) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'c</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Merge two tables together into a new table. The function's argument correspond to values associated with the key (if present); if the function returns <code>None</code> the key will not appear in the result.</p></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> unit) <span>-></span> unit</code></dt><dd><p>Iterate over bindings.</p></dd></dl><dl><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val</span> fold : (<span class="type-var">'b</span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span>) <span>-></span> <span class="type-var">'b</span> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'b</span></code></dt><dd><p>Fold over bindings.</p></dd></dl><dl><dt class="spec value" id="val-map"><a href="#val-map" class="anchor"></a><code><span class="keyword">val</span> map : (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span>) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Map all values.</p></dd></dl><dl><dt class="spec value" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span class="keyword">val</span> filter : (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><code><span class="keyword">val</span> filter_map : (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span class="type-var">'b</span> option) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-for_all"><a href="#val-for_all" class="anchor"></a><code><span class="keyword">val</span> for_all : (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-exists"><a href="#val-exists" class="anchor"></a><code><span class="keyword">val</span> exists : (<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool) <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> bool</code></dt></dl><section><header><h4 id="conversions"><a href="#conversions" class="anchor"></a>Conversions</h4></header><dl><dt class="spec value" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><code><span class="keyword">val</span> of_seq : (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Add (replace) bindings from the sequence to the table.</p></dd></dl><dl><dt class="spec value" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span class="keyword">val</span> of_list : (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) list <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><code><span class="keyword">val</span> add_seq : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_list"><a href="#val-add_list" class="anchor"></a><code><span class="keyword">val</span> add_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) list <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><code><span class="keyword">val</span> to_seq : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a></code></dt><dd><p>Iter of the bindings of the table.</p></dd></dl><dl><dt class="spec value" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span class="keyword">val</span> to_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>-></span> (<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>) list</code></dt></dl></section><section><header><h4 id="misc"><a href="#misc" class="anchor"></a>Misc</h4></header><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <span class="type-var">'a</span> <a href="../index.html#type-equal">equal</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="../index.html#type-equal">equal</a></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : ?⁠sep:string <span>-></span> ?⁠arrow:string <span>-></span> <a href="index.html#type-key">key</a> <a href="../index.html#type-printer">printer</a> <span>-></span> <span class="type-var">'a</span> <a href="../index.html#type-printer">printer</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="../index.html#type-printer">printer</a></code></dt><dt class="spec value" id="val-stats"><a href="#val-stats" class="anchor"></a><code><span class="keyword">val</span> stats : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span>-></span> Stdlib.Hashtbl.statistics</code></dt><dd><p>Statistics on the internal table.</p><dl><dt>since</dt><dd>0.14</dd></dl></dd></dl></section></div></body></html> |