ocaml-containers/2.2/containers/CCTrie/String/index.html
2018-05-10 23:14:25 -05:00

11 lines
No EOL
15 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>String (containers.CCTrie.String)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> &mdash; <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCTrie.String</span></h1></header><div class="spec type" id="type-char_"><a href="#type-char_" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>char_</code><code><span class="keyword"> = </span>char</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-key"><a href="#type-key" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>key</code><code><span class="keyword"> = </span>string</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-empty"><a href="#val-empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>empty : <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_empty : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add a binding to the trie (possibly erasing the previous one).</p></div></div><div class="spec val" id="val-remove"><a href="#val-remove" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the key, if present.</p></div></div><div class="spec val" id="val-find"><a href="#val-find" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> option</code></div><div class="doc"><p>Find the value associated with the key, if any.</p></div></div><div class="spec val" id="val-find_exn"><a href="#val-find_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_exn : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span></code></div><div class="doc"><p>Same as <a href="index.html#val-find">find</a> but can fail.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if the key is not present.</li></ul></div></div><div class="spec val" id="val-longest_prefix"><a href="#val-longest_prefix" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>longest_prefix : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-key">key</a></code></div><div class="doc"><p><code class="code">longest_prefix k m</code> finds the longest prefix of <code class="code">k</code> that leads to
at least one path in <code class="code">m</code> (it does not mean that the prefix is bound to
a value.</p><p>Example: if <code class="code">m</code> has keys &quot;abc0&quot; and &quot;abcd&quot;, then <code class="code">longest_prefix &quot;abc2&quot; m</code>
will return &quot;abc&quot;.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-update"><a href="#val-update" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>update : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> (<span class="type-var">'a</span> option <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> option) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Update the binding for the given key. The function is given
<code class="code">None</code> if the key is absent, or <code class="code">Some v</code> if <code class="code">key</code> is bound to <code class="code">v</code>;
if it returns <code class="code">None</code> the key is removed, otherwise it
returns <code class="code">Some y</code> and <code class="code">key</code> becomes bound to <code class="code">y</code>.</p></div></div><div class="spec val" id="val-fold"><a href="#val-fold" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold : (<span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span></code></div><div class="doc"><p>Fold on key/value bindings. Will use <a href="../module-type-WORD/index.html#val-of_list">WORD.of_list</a> to rebuild keys.</p></div></div><div class="spec val" id="val-mapi"><a href="#val-mapi" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mapi : (<a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Map values, giving both key and value. Will use <a href="../module-type-WORD/index.html#val-of_list">WORD.of_list</a> to rebuild keys.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-map"><a href="#val-map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Map values, giving only the value.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (<a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"><p>Same as <a href="index.html#val-fold">fold</a>, but for effectful functions.</p></div></div><div class="spec val" id="val-fold_values"><a href="#val-fold_values" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold_values : (<span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span>) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'b</span></code></div><div class="doc"><p>More efficient version of <a href="index.html#val-fold">fold</a>, that doesn't keep keys.</p></div></div><div class="spec val" id="val-iter_values"><a href="#val-iter_values" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter_values : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> unit) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"></div></div><div class="spec val" id="val-merge"><a href="#val-merge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>merge : (<span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> option) <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Merge two tries together. The function is used in
case of conflicts, when a key belongs to both tries.</p></div></div><div class="spec val" id="val-size"><a href="#val-size" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>size : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"><p>Number of bindings.</p></div></div><h5>Conversions</h5><div class="spec val" id="val-to_list"><a href="#val-to_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (<a href="index.html#type-key">key</a><span class="keyword"> * </span><span class="type-var">'a</span>) list</code></div><div class="doc"></div></div><div class="spec val" id="val-of_list"><a href="#val-of_list" class="anchor"></a><div class="def val"><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 class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&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></div><div class="doc"></div></div><div class="spec val" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><div class="def val"><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 class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq_values"><a href="#val-to_seq_values" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq_values : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_tree"><a href="#val-to_tree" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_tree : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> [ `Char of <a href="index.html#type-char_">char_</a> | `Val of <span class="type-var">'a</span> | `Switch ] <a href="../index.html#type-ktree">ktree</a></code></div><div class="doc"></div></div><h5>Ranges</h5><div class="spec val" id="val-above"><a href="#val-above" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>above : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&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></div><div class="doc"><p>All bindings whose key is bigger or equal to the given key, in
ascending order.</p></div></div><div class="spec val" id="val-below"><a href="#val-below" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>below : <a href="index.html#type-key">key</a> <span class="keyword">&#8209;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&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></div><div class="doc"><p>All bindings whose key is smaller or equal to the given key,
in decreasing order.</p></div></div></body></html>