ocaml-containers/2.5/containers/CCHashTrie/Make/index.html
2019-02-02 14:05:01 -06:00

2 lines
No EOL
15 KiB
HTML
Raw Permalink 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>Make (containers.CCHashTrie.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> &#x00BB; <a href="../index.html">CCHashTrie</a> &#x00BB; Make</nav><h1>Module <code>CCHashTrie.Make</code></h1><h2 id="functors"><a href="#functors" class="anchor"></a>Functors</h2></header><h3 class="heading">Parameters</h3><dl><code><a href="argument-1-K/index.html">K</a> : <a href="../index.html#module-type-KEY">KEY</a></code></dl><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><span class="keyword"> = </span><a href="argument-1-K/index.html#type-t">K.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 : <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><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">_</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span class="keyword">val </span>singleton : <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val </span>add : <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val </span>mem : <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><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>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> option</code></dt><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>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dd><dl><dt>raises Not_found</dt><dd><p>if key not present.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val </span>remove : <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Remove the key, if present.</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 : <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> f:(<span class="type-var">'a</span> option <span>&#45;&gt;</span> <span class="type-var">'a</span> option) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>update k ~f m</code> calls <code>f (Some v)</code> if <code>get k m = Some v</code>, <code>f None</code> otherwise. Then, if <code>f</code> returns <code>Some v'</code> it binds <code>k</code> to <code>v'</code>, if <code>f</code> returns <code>None</code> it removes <code>k</code>.</p></dd></dl><dl><dt class="spec value" id="val-add_mut"><a href="#val-add_mut" class="anchor"></a><code><span class="keyword">val </span>add_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>add_mut ~id k v m</code> behaves like <code>add k v m</code>, except it will mutate in place whenever possible. Changes done with an <code>id</code> might affect all versions of the structure obtained with the same <code>id</code> (but not other versions).</p><dl><dt>raises Transient.Frozen</dt><dd><p>if <code>id</code> is frozen.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-remove_mut"><a href="#val-remove_mut" class="anchor"></a><code><span class="keyword">val </span>remove_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Same as <a href="index.html#val-remove"><code>remove</code></a>, but modifies in place whenever possible.</p><dl><dt>raises Transient.Frozen</dt><dd><p>if <code>id</code> is frozen.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-update_mut"><a href="#val-update_mut" class="anchor"></a><code><span class="keyword">val </span>update_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> f:(<span class="type-var">'a</span> option <span>&#45;&gt;</span> <span class="type-var">'a</span> option) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Same as <a href="index.html#val-update"><code>update</code></a> but with mutability.</p><dl><dt>raises Transient.Frozen</dt><dd><p>if <code>id</code> is frozen.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><code><span class="keyword">val </span>cardinal : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dt class="spec value" id="val-choose"><a href="#val-choose" class="anchor"></a><code><span class="keyword">val </span>choose : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) option</code></dt><dt class="spec value" id="val-choose_exn"><a href="#val-choose_exn" class="anchor"></a><code><span class="keyword">val </span>choose_exn : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span></code></dt><dd><dl><dt>raises Not_found</dt><dd><p>if not pair was found.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val </span>iter : f:(<a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val </span>fold : f:(<span class="type-var">'b</span> <span>&#45;&gt;</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> x:<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt></dl><section><header><h4 id="conversions"><a href="#conversions" class="anchor"></a>Conversions</h4></header><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>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) list</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>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) list <span>&#45;&gt;</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_mut"><a href="#val-add_list_mut" class="anchor"></a><code><span class="keyword">val </span>add_list_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) list <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><dl><dt>raises Frozen</dt><dd><p>if the ID is frozen.</p></dd></dl></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="keyword"> * </span><span class="type-var">'a</span>) list <span>&#45;&gt;</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>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a> <span>&#45;&gt;</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_mut"><a href="#val-add_seq_mut" class="anchor"></a><code><span class="keyword">val </span>add_seq_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><dl><dt>raises Frozen</dt><dd><p>if the ID is frozen.</p></dd></dl></dd></dl><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="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a> <span>&#45;&gt;</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>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-sequence">sequence</a></code></dt><dt class="spec value" id="val-add_gen"><a href="#val-add_gen" class="anchor"></a><code><span class="keyword">val </span>add_gen : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-gen">gen</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_gen_mut"><a href="#val-add_gen_mut" class="anchor"></a><code><span class="keyword">val </span>add_gen_mut : id:<a href="../Transient/index.html#type-t">Transient.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-gen">gen</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dd><dl><dt>raises Frozen</dt><dd><p>if the ID is frozen.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><code><span class="keyword">val </span>of_gen : (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-gen">gen</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><code><span class="keyword">val </span>to_gen : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) <a href="../index.html#type-gen">gen</a></code></dt></dl></section><section><header><h4 id="io"><a href="#io" class="anchor"></a>IO</h4></header><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val </span>pp : <a href="index.html#type-key">key</a> <a href="../index.html#type-printer">printer</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-printer">printer</a> <span>&#45;&gt;</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><dd><p>Renamed from <code>val print</code>.</p><dl><dt>since</dt><dd>2.0</dd></dl></dd></dl><dl><dt class="spec value" id="val-as_tree"><a href="#val-as_tree" class="anchor"></a><code><span class="keyword">val </span>as_tree : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> [ `L of int<span class="keyword"> * </span>(<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) list<span class="keyword"> | </span>`N ] <a href="../index.html#type-ktree">ktree</a></code></dt><dd><p>For debugging purpose: explore the structure of the tree, with <code>`L (h,l)</code> being a leaf (with shared hash <code>h</code>) and <code>`N</code> an inner node.</p></dd></dl></section></div></body></html>