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.CCHashTrie.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">CCHashTrie</a> » Make</nav><h1>Module <code>CCHashTrie.Make</code></h1><h3 id="functors"><a href="#functors" class="anchor"></a>Functors</h3><nav class="toc"><ul><li><a href="#conversions">Conversions</a></li><li><a href="#io">IO</a></li></ul></nav></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-K/index.html">K</a> : <a href="../index.html#module-type-KEY">KEY</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-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> <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 : <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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><span class="type-var">_</span> <a href="index.html#type-t">t</a></span> <span>-></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>-></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><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>-></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> <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-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val</span> mem : <a href="index.html#type-key">key</a> <span>-></span> <span><span class="type-var">_</span> <a href="index.html#type-t">t</a></span> <span>-></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>-></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><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><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>-></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><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>-></span> <span>f:<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><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><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 : <span>id:<a href="../Transient/index.html#type-t">Transient.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> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span>id:<a href="../Transient/index.html#type-t">Transient.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> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span>id:<a href="../Transient/index.html#type-t">Transient.t</a></span> <span>-></span> <a href="index.html#type-key">key</a> <span>-></span> <span>f:<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><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>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><span class="type-var">_</span> <a href="index.html#type-t">t</a></span> <span>-></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><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> option</span></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><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 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 : <span>f:<span>(<a href="index.html#type-key">key</a> <span>-></span> <span class="type-var">'a</span> <span>-></span> unit)</span></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></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 : <span>f:<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> <span>x:<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 class="type-var">'b</span></code></dt></dl><section><header><h6 id="conversions"><a href="#conversions" class="anchor"></a>Conversions</h6></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><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><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-add_list_mut"><a href="#val-add_list_mut" class="anchor"></a><code><span class="keyword">val</span> add_list_mut : <span>id:<a href="../Transient/index.html#type-t">Transient.t</a></span> <span>-></span> <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><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 : <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_iter_mut"><a href="#val-add_iter_mut" class="anchor"></a><code><span class="keyword">val</span> add_iter_mut : <span>id:<a href="../Transient/index.html#type-t">Transient.t</a></span> <span>-></span> <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><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_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><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><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><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-gen">gen</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_gen_mut"><a href="#val-add_gen_mut" class="anchor"></a><code><span class="keyword">val</span> add_gen_mut : <span>id:<a href="../Transient/index.html#type-t">Transient.t</a></span> <span>-></span> <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-gen">gen</a></span> <span>-></span> <span><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span></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 : <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> <a href="../index.html#type-gen">gen</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-to_gen"><a href="#val-to_gen" class="anchor"></a><code><span class="keyword">val</span> to_gen : <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-gen">gen</a></span></code></dt></dl></section><section><header><h6 id="io"><a href="#io" class="anchor"></a>IO</h6></header><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : <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><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><span class="type-var">'a</span> <a href="index.html#type-t">t</a></span> <span>-></span> <span><span>[ <span>`L of int * <span><span>(<a href="index.html#type-key">key</a> * <span class="type-var">'a</span>)</span> list</span></span> <span>| `N</span> ]</span> <a href="../index.html#type-ktree">ktree</a></span></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> |