mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
2 lines
No EOL
16 KiB
HTML
2 lines
No EOL
16 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers-data.CCPersistentHashtbl.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><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-data</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> <span>'a t</span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> option</span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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><span class="type-var">_</span> <a href="index.html#type-t">t</a></span> <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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span>(<span><span class="type-var">'a</span> option</span> <span>-></span> <span><span class="type-var">'a</span> option</span>)</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span>f:<span>(<a href="index.html#type-key">key</a> <span>-></span> <span>[ <span>`Left of <span class="type-var">'a</span></span> <span><span>| `Right</span> of <span class="type-var">'b</span></span> <span><span>| `Both</span> of <span class="type-var">'a</span> * <span class="type-var">'b</span></span> ]</span> <span>-></span> <span><span class="type-var">'c</span> option</span>)</span></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'c</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> unit)</span> <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>(<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> <span class="type-var">'b</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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 : <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> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span></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 : <span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> <span><span class="type-var">'b</span> option</span>)</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span class="type-var">'b</span> <a href="index.html#type-t">t</a></span></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 : <span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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 : <span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> bool)</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <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_iter"><a href="#val-of_iter" class="anchor"></a><code><span class="keyword">val</span> of_iter : <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> list</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-add_iter"><a href="#val-add_iter" class="anchor"></a><code><span class="keyword">val</span> add_iter : <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> <a href="../index.html#type-iter">iter</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> list</span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></code></dt><dt class="spec value" id="val-to_iter"><a href="#val-to_iter" class="anchor"></a><code><span class="keyword">val</span> to_iter : <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> <a href="../index.html#type-iter">iter</a></span></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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> list</span></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><span class="type-var">'a</span> <a href="../index.html#type-equal">equal</a></span> <span>-></span> <span><span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <a href="../index.html#type-equal">equal</a></span></code></dt><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <span>?⁠pp_start:<span>unit <a href="../index.html#type-printer">printer</a></span></span> <span>-></span> <span>?⁠pp_stop:<span>unit <a href="../index.html#type-printer">printer</a></span></span> <span>-></span> <span>?⁠pp_sep:<span>unit <a href="../index.html#type-printer">printer</a></span></span> <span>-></span> <span>?⁠pp_arrow:<span>unit <a href="../index.html#type-printer">printer</a></span></span> <span>-></span> <span><a href="index.html#type-key">key</a> <a href="../index.html#type-printer">printer</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="../index.html#type-printer">printer</a></span> <span>-></span> <span><span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <a href="../index.html#type-printer">printer</a></span></code></dt><dt class="spec value" id="val-stats"><a href="#val-stats" class="anchor"></a><code><span class="keyword">val</span> stats : <span><span class="type-var">_</span> <a href="index.html#type-t">t</a></span> <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> |