ocaml-containers/3.10/containers/Containers/Hashtbl/index.html
Simon Cruanes fc810ce03e
add 3.10
2022-11-16 13:25:28 -05:00

33 lines
No EOL
46 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Hashtbl (containers.Containers.Hashtbl)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers</a> &#x00BB; <a href="../index.html">Containers</a> &#x00BB; Hashtbl</nav><header class="odoc-preamble"><h1>Module <code><span>Containers.Hashtbl</span></code></h1><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl
<span class="keyword">with</span> <span><span class="keyword">type</span> <span class="xref-unresolved">statistics</span> = <span class="xref-unresolved">Stdlib</span>.Hashtbl.statistics</span>
<span class="keyword">and</span> <span><span class="keyword">module</span> <span class="xref-unresolved">Make</span> = <span class="xref-unresolved">Stdlib</span>.Hashtbl.Make</span>
<span class="keyword">and</span> <span><span class="keyword">type</span> <span>('a, 'b) <span class="xref-unresolved">t</span></span> = <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></span></code></summary><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>(!'a0, !'b0) t</span></span><span> = <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-create" class="anchored"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span>?random:bool <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-clear" class="anchored"><a href="#val-clear" class="anchor"></a><code><span><span class="keyword">val</span> clear : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-reset" class="anchored"><a href="#val-reset" class="anchor"></a><code><span><span class="keyword">val</span> reset : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-copy" class="anchored"><a href="#val-copy" class="anchor"></a><code><span><span class="keyword">val</span> copy : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-add" class="anchored"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-find" class="anchored"><a href="#val-find" class="anchor"></a><code><span><span class="keyword">val</span> find : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-find_opt" class="anchored"><a href="#val-find_opt" class="anchor"></a><code><span><span class="keyword">val</span> find_opt : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-find_all" class="anchored"><a href="#val-find_all" class="anchor"></a><code><span><span class="keyword">val</span> find_all : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-mem" class="anchored"><a href="#val-mem" class="anchor"></a><code><span><span class="keyword">val</span> mem : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-remove" class="anchored"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-replace" class="anchored"><a href="#val-replace" class="anchor"></a><code><span><span class="keyword">val</span> replace : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-iter" class="anchored"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter : <span><span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit )</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-filter_map_inplace" class="anchored"><a href="#val-filter_map_inplace" class="anchor"></a><code><span><span class="keyword">val</span> filter_map_inplace : <span><span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> option</span> )</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-fold" class="anchored"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'c</span> )</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'c</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-length" class="anchored"><a href="#val-length" class="anchor"></a><code><span><span class="keyword">val</span> length : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-randomize" class="anchored"><a href="#val-randomize" class="anchor"></a><code><span><span class="keyword">val</span> randomize : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-is_randomized" class="anchored"><a href="#val-is_randomized" class="anchor"></a><code><span><span class="keyword">val</span> is_randomized : <span>unit <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-rebuild" class="anchored"><a href="#val-rebuild" class="anchor"></a><code><span><span class="keyword">val</span> rebuild : <span>?random:bool <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-statistics" class="anchored"><a href="#type-statistics" class="anchor"></a><code><span><span class="keyword">type</span> statistics</span><span> = <span class="xref-unresolved">Stdlib</span>.Hashtbl.statistics</span><span> = </span><span>{</span></code><table><tr id="type-statistics.num_bindings" class="anchored"><td class="def record field"><a href="#type-statistics.num_bindings" class="anchor"></a><code><span>num_bindings : int;</span></code></td></tr><tr id="type-statistics.num_buckets" class="anchored"><td class="def record field"><a href="#type-statistics.num_buckets" class="anchor"></a><code><span>num_buckets : int;</span></code></td></tr><tr id="type-statistics.max_bucket_length" class="anchored"><td class="def record field"><a href="#type-statistics.max_bucket_length" class="anchor"></a><code><span>max_bucket_length : int;</span></code></td></tr><tr id="type-statistics.bucket_histogram" class="anchored"><td class="def record field"><a href="#type-statistics.bucket_histogram" class="anchor"></a><code><span>bucket_histogram : <span>int array</span>;</span></code></td></tr></table><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-stats" class="anchored"><a href="#val-stats" class="anchor"></a><code><span><span class="keyword">val</span> stats : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-statistics">statistics</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_seq" class="anchored"><a href="#val-to_seq" class="anchor"></a><code><span><span class="keyword">val</span> to_seq : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_seq_keys" class="anchored"><a href="#val-to_seq_keys" class="anchor"></a><code><span><span class="keyword">val</span> to_seq_keys : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_seq_values" class="anchored"><a href="#val-to_seq_values" class="anchor"></a><code><span><span class="keyword">val</span> to_seq_values : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-replace_seq" class="anchored"><a href="#val-replace_seq" class="anchor"></a><code><span><span class="keyword">val</span> replace_seq : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-HashedType" class="anchored"><a href="#module-type-HashedType" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-HashedType/index.html">HashedType</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-H">H</a> : <span class="xref-unresolved">Stdlib__Hashtbl</span>.HashedType) : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-SeededHashedType" class="anchored"><a href="#module-type-SeededHashedType" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-SeededHashedType/index.html">SeededHashedType</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-SeededS" class="anchored"><a href="#module-type-SeededS" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-SeededS/index.html">SeededS</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-MakeSeeded" class="anchored"><a href="#module-MakeSeeded" class="anchor"></a><code><span><span class="keyword">module</span> <a href="MakeSeeded/index.html">MakeSeeded</a></span><span> (<a href="MakeSeeded/index.html#argument-1-H">H</a> : <a href="module-type-SeededHashedType/index.html">SeededHashedType</a>) : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-seeded_hash" class="anchored"><a href="#val-seeded_hash" class="anchor"></a><code><span><span class="keyword">val</span> seeded_hash : <span>int <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash_param" class="anchored"><a href="#val-hash_param" class="anchor"></a><code><span><span class="keyword">val</span> hash_param : <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-seeded_hash_param" class="anchored"><a href="#val-seeded_hash_param" class="anchor"></a><code><span><span class="keyword">val</span> seeded_hash_param : <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></details></div><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <span class="keyword">struct</span> <span class="keyword">include</span> <a href="../../CCHashtbl/Poly/index.html">CCHashtbl.Poly</a> <span class="keyword">end</span></span></code></summary><div class="odoc-spec"><div class="spec value" id="val-get" class="anchored"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> option</span></span></code></div><div class="spec-doc"><p><code>get tbl k</code> finds a binding for the key <code>k</code> if present, or returns <code>None</code> if no value is found. Safe version of <a href="#val-find"><code>Hashtbl.find</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-get_or" class="anchored"><a href="#val-get_or" class="anchor"></a><code><span><span class="keyword">val</span> get_or : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span>default:<span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span></span></code></div><div class="spec-doc"><p><code>get_or tbl k ~default</code> returns the value associated to <code>k</code> if present, and returns <code>default</code> otherwise (if <code>k</code> doesn't belong in <code>tbl</code>).</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.16</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-keys" class="anchored"><a href="#val-keys" class="anchor"></a><code><span><span class="keyword">val</span> keys : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span></span></code></div><div class="spec-doc"><p><code>keys tbl f</code> iterates on keys (similar order as <a href="#val-iter"><code>Hashtbl.iter</code></a>).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-values" class="anchored"><a href="#val-values" class="anchor"></a><code><span><span class="keyword">val</span> values : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span></span></code></div><div class="spec-doc"><p><code>values tbl f</code> iterates on values in the table <code>tbl</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-keys_list" class="anchored"><a href="#val-keys_list" class="anchor"></a><code><span><span class="keyword">val</span> keys_list : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> list</span></span></code></div><div class="spec-doc"><p><code>keys_list tbl</code> is the list of keys in <code>tbl</code>. If the key is in the Hashtable multiple times, all occurrences will be returned.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-values_list" class="anchored"><a href="#val-values_list" class="anchor"></a><code><span><span class="keyword">val</span> values_list : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> list</span></span></code></div><div class="spec-doc"><p><code>values_list tbl</code> is the list of values in <code>tbl</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-map_list" class="anchored"><a href="#val-map_list" class="anchor"></a><code><span><span class="keyword">val</span> map_list : <span><span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'c</span> )</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'c</span> list</span></span></code></div><div class="spec-doc"><p><code>map_list f tbl</code> maps on a <code>tbl</code>'s items. Collect into a list.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-incr" class="anchored"><a href="#val-incr" class="anchor"></a><code><span><span class="keyword">val</span> incr : <span>?by:int <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>incr ?by tbl x</code> increments or initializes the counter associated with <code>x</code>. If <code>get tbl x = None</code>, then after update, <code>get tbl x = Some 1</code>; otherwise, if <code>get tbl x = Some n</code>, now <code>get tbl x = Some (n+1)</code>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">by</span> <p>if specified, the int value is incremented by <code>by</code> rather than 1.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.16</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-decr" class="anchored"><a href="#val-decr" class="anchor"></a><code><span><span class="keyword">val</span> decr : <span>?by:int <span class="arrow">&#45;&gt;</span></span> <span><span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>decr ?by tbl x</code> is like <a href="#val-incr"><code>incr</code></a> but subtract 1 (or the value of <code>by</code>). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.16</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_iter" class="anchored"><a href="#val-to_iter" class="anchor"></a><code><span><span class="keyword">val</span> to_iter : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span></span></code></div><div class="spec-doc"><p>Iterate on bindings in the table.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_list" class="anchored"><a href="#val-add_list" class="anchor"></a><code><span><span class="keyword">val</span> add_list : <span><span><span>( <span class="type-var">'a</span>, <span><span class="type-var">'b</span> list</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add_list tbl x y</code> adds <code>y</code> to the list <code>x</code> is bound to. If <code>x</code> is not bound, it becomes bound to <code>y</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.16</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_iter" class="anchored"><a href="#val-add_iter" class="anchor"></a><code><span><span class="keyword">val</span> add_iter : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Add the corresponding pairs to the table, using <a href="#val-add"><code>Hashtbl.add</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_iter_with" class="anchored"><a href="#val-add_iter_with" class="anchor"></a><code><span><span class="keyword">val</span> add_iter_with :
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Add the corresponding pairs to the table, using <a href="#val-add"><code>Hashtbl.add</code></a>. If a key occurs multiple times in the input, the values are combined using <code>f</code> in an unspecified order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_seq" class="anchored"><a href="#val-add_seq" class="anchor"></a><code><span><span class="keyword">val</span> add_seq : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Add the corresponding pairs to the table, using <a href="#val-add"><code>Hashtbl.add</code></a>. Renamed from <code>add_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_seq_with" class="anchored"><a href="#val-add_seq_with" class="anchor"></a><code><span><span class="keyword">val</span> add_seq_with :
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p>Add the corresponding pairs to the table. If a key occurs multiple times in the input, the values are combined using <code>f</code> in an unspecified order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_iter" class="anchored"><a href="#val-of_iter" class="anchor"></a><code><span><span class="keyword">val</span> of_iter : <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>From the given bindings, added in order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_iter_with" class="anchored"><a href="#val-of_iter_with" class="anchor"></a><code><span><span class="keyword">val</span> of_iter_with :
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using <code>f</code> in an unspecified order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_seq" class="anchored"><a href="#val-of_seq" class="anchor"></a><code><span><span class="keyword">val</span> of_seq : <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>From the given bindings, added in order. Renamed from <code>of_std_seq</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_seq_with" class="anchored"><a href="#val-of_seq_with" class="anchor"></a><code><span><span class="keyword">val</span> of_seq_with :
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using <code>f</code> in an unspecified order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_iter_count" class="anchored"><a href="#val-add_iter_count" class="anchor"></a><code><span><span class="keyword">val</span> add_iter_count : <span><span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add_iter_count tbl i</code> increments the count of each element of <code>i</code> by calling <a href="#val-incr"><code>incr</code></a>. This is useful for counting how many times each element of <code>i</code> occurs.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-add_seq_count" class="anchored"><a href="#val-add_seq_count" class="anchor"></a><code><span><span class="keyword">val</span> add_seq_count : <span><span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add_seq_count tbl seq</code> increments the count of each element of <code>seq</code> by calling <a href="#val-incr"><code>incr</code></a>. This is useful for counting how many times each element of <code>seq</code> occurs. Renamed from <code>add_std_seq_count</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_iter_count" class="anchored"><a href="#val-of_iter_count" class="anchor"></a><code><span><span class="keyword">val</span> of_iter_count : <span><span><span class="type-var">'a</span> <a href="../../CCHashtbl/index.html#type-iter">CCHashtbl.iter</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>Like <a href="#val-add_seq_count"><code>add_seq_count</code></a>, but allocates a new table and returns it.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-of_seq_count" class="anchored"><a href="#val-of_seq_count" class="anchor"></a><code><span><span class="keyword">val</span> of_seq_count : <span><span><span class="type-var">'a</span> <span class="xref-unresolved">Stdlib</span>.Seq.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, int )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>Like <a href="#val-add_seq_count"><code>add_seq_count</code></a>, but allocates a new table and returns it. Renamed from <code>of_std_seq_count</code> since 3.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-to_list" class="anchored"><a href="#val-to_list" class="anchor"></a><code><span><span class="keyword">val</span> to_list : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> list</span></span></code></div><div class="spec-doc"><p><code>to_list tbl</code> returns the list of (key,value) bindings (order unspecified).</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_list" class="anchored"><a href="#val-of_list" class="anchor"></a><code><span><span class="keyword">val</span> of_list : <span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span> <span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p><code>of_list l</code> builds a table from the given list <code>l</code> of bindings <code>k_i -&gt; v_i</code>, added in order using <a href="#val-add"><code>add</code></a>. If a key occurs several times, it will be added several times, and the visible binding will be the last one.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-of_list_with" class="anchored"><a href="#val-of_list_with" class="anchor"></a><code><span><span class="keyword">val</span> of_list_with :
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span> * <span class="type-var">'b</span>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span></span></code></div><div class="spec-doc"><p>From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using <code>f</code> in an unspecified order.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.3</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-update" class="anchored"><a href="#val-update" class="anchor"></a><code><span><span class="keyword">val</span> update :
<span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span>
<span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'b</span> option</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> option</span> )</span> <span class="arrow">&#45;&gt;</span></span>
<span>k:<span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div><div class="spec-doc"><p><code>update tbl ~f ~k</code> updates key <code>k</code> by calling <code>f k (Some v)</code> if <code>k</code> was mapped to <code>v</code>, or <code>f k None</code> otherwise; if the call returns <code>None</code> then <code>k</code> is removed/stays removed, if the call returns <code>Some v'</code> then the binding <code>k -&gt; v'</code> is inserted using <a href="#val-replace"><code>Hashtbl.replace</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-get_or_add" class="anchored"><a href="#val-get_or_add" class="anchor"></a><code><span><span class="keyword">val</span> get_or_add : <span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <span class="arrow">&#45;&gt;</span></span> <span>f:<span>( <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span> )</span> <span class="arrow">&#45;&gt;</span></span> <span>k:<span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span></span></code></div><div class="spec-doc"><p><code>get_or_add tbl ~k ~f</code> finds and returns the binding of <code>k</code> in <code>tbl</code>, if it exists. If it does not exist, then <code>f k</code> is called to obtain a new binding <code>v</code>; <code>k -&gt; v</code> is added to <code>tbl</code> and <code>v</code> is returned.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.0</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp :
<span>?pp_start:<span>unit <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span>?pp_stop:<span>unit <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span>?pp_sep:<span>unit <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span>?pp_arrow:<span>unit <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'b</span> <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>( <span class="type-var">'a</span>, <span class="type-var">'b</span> )</span> <span class="xref-unresolved">Stdlib</span>.Hashtbl.t</span> <a href="../../CCHashtbl/index.html#type-printer">CCHashtbl.printer</a></span></span></code></div><div class="spec-doc"><p><code>pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v</code> returns a table printer given a <code>pp_k</code> printer for individual key and a <code>pp_v</code> printer for individual value. <code>pp_start</code> and <code>pp_stop</code> control the opening and closing delimiters, by default print nothing. <code>pp_sep</code> control the separator between binding. <code>pp_arrow</code> control the arrow between the key and value. Renamed from <code>print</code> since 2.0.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.13</li></ul></div></div></details></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S'" class="anchored"><a href="#module-type-S'" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> S'</span><span> = <a href="../../CCHashtbl/module-type-S/index.html">CCHashtbl.S</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make'" class="anchored"><a href="#module-Make'" class="anchor"></a><code><span><span class="keyword">module</span> Make'</span><span> = <a href="../../CCHashtbl/Make/index.html">CCHashtbl.Make</a></span></code></div></div></div></body></html>