mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-21 16:56:39 -05:00
doc for 2.3
This commit is contained in:
parent
0e6e4198b1
commit
39368396f7
301 changed files with 2283 additions and 1 deletions
0
2.3/containers/CCArray/.jbuilder-keep
Normal file
0
2.3/containers/CCArray/.jbuilder-keep
Normal file
67
2.3/containers/CCArray/index.html
Normal file
67
2.3/containers/CCArray/index.html
Normal file
File diff suppressed because one or more lines are too long
2
2.3/containers/CCArray/module-type-MONO_ARRAY/index.html
Normal file
2
2.3/containers/CCArray/module-type-MONO_ARRAY/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>MONO_ARRAY (containers.CCArray.MONO_ARRAY)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCArray.MONO_ARRAY</span></h1></header><div class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>elt</code><code></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>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a></code></div><div class="doc"></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCArrayLabels/.jbuilder-keep
Normal file
0
2.3/containers/CCArrayLabels/.jbuilder-keep
Normal file
2
2.3/containers/CCArrayLabels/Floatarray/index.html
Normal file
2
2.3/containers/CCArrayLabels/Floatarray/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Floatarray (containers.CCArrayLabels.Floatarray)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCArrayLabels.Floatarray</span></h1></header><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>create : int <span class="keyword">‑></span> floatarray = "caml_floatarray_create" </code></div><div class="doc"></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>length : floatarray <span class="keyword">‑></span> int = "%floatarray_length" </code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>get : floatarray <span class="keyword">‑></span> int <span class="keyword">‑></span> float = "%floatarray_safe_get" </code></div><div class="doc"></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>set : floatarray <span class="keyword">‑></span> int <span class="keyword">‑></span> float <span class="keyword">‑></span> unit = "%floatarray_safe_set" </code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_get"><a href="#val-unsafe_get" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_get : floatarray <span class="keyword">‑></span> int <span class="keyword">‑></span> float = "%floatarray_unsafe_get" </code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_set"><a href="#val-unsafe_set" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_set : floatarray <span class="keyword">‑></span> int <span class="keyword">‑></span> float <span class="keyword">‑></span> unit = "%floatarray_unsafe_set" </code></div><div class="doc"></div></div></body></html>
|
||||
67
2.3/containers/CCArrayLabels/index.html
Normal file
67
2.3/containers/CCArrayLabels/index.html
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>MONO_ARRAY (containers.CCArrayLabels.MONO_ARRAY)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCArrayLabels.MONO_ARRAY</span></h1></header><div class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>elt</code><code></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>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a></code></div><div class="doc"></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCArray_slice/.jbuilder-keep
Normal file
0
2.3/containers/CCArray_slice/.jbuilder-keep
Normal file
59
2.3/containers/CCArray_slice/index.html
Normal file
59
2.3/containers/CCArray_slice/index.html
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCArray_slice (containers.CCArray_slice)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCArray_slice</span></h1></header><h2>Array Slice</h2><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-klist"><a href="#type-klist" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a klist</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> [ `Nil | `Cons of <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a> ]</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a equal</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-ord"><a href="#type-ord" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a ord</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-random_gen"><a href="#type-random_gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a random_gen</code><code><span class="keyword"> = </span>Random.State.t <span class="keyword">‑></span> <span class="type-var">'a</span></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</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"><p>The type for an array slice, containing elements of type <code class="code">'a</code></p></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"><p><code class="code">empty</code> is the empty array slice.</p></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-equal">equal</a></code></div><div class="doc"><p><code class="code">equal eq as1 as2</code> is <code class="code">true</code> if the lengths of <code class="code">as1</code> and <code class="code">as2</code> are the same
|
||||
and if the corresponding elements test equal using <code class="code">eq</code>.</p></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <span class="type-var">'a</span> <a href="index.html#type-ord">ord</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-ord">ord</a></code></div><div class="doc"><p><code class="code">compare cmp as1 as2</code> compares the two slices <code class="code">as1</code> and <code class="code">as2</code> using
|
||||
the comparison function <code class="code">cmp</code>, element by element.</p></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">get as n</code> returns the element number <code class="code">n</code> of slice <code class="code">as</code>.
|
||||
The first element has number 0.
|
||||
The last element has number <code class="code">length as - 1</code>.
|
||||
You can also write <code class="code">as.(n)</code> instead of <code class="code">get as n</code>.</p><p>Raise <code class="code">Invalid_argument "index out of bounds"</code>
|
||||
if <code class="code">n</code> is outside the range 0 to <code class="code">(length as - 1)</code>.</p></div></div><div class="spec val" id="val-get_safe"><a href="#val-get_safe" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_safe : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p><code class="code">get_safe as i</code> returns <code class="code">Some as.(i)</code> if <code class="code">i</code> is a valid index.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-make"><a href="#val-make" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>make : <span class="type-var">'a</span> array <span class="keyword">‑></span> int <span class="keyword">‑></span> len:int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">make a i ~len</code> creates a slice from given offset <code class="code">i</code> and length <code class="code">len</code> of the given array <code class="code">a</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the slice isn't valid.</li></ul></div></div><div class="spec val" id="val-of_slice"><a href="#val-of_slice" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_slice : (<span class="type-var">'a</span> array<span class="keyword"> * </span>int<span class="keyword"> * </span>int) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">of_slice (a, i, len)</code> makes a slice from a triple <code class="code">(a, i, len)</code> where <code class="code">a</code> is the array,
|
||||
<code class="code">i</code> the offset in <code class="code">a</code>, and <code class="code">len</code> the number of elements of the slice.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the slice isn't valid (See <a href="index.html#val-make">make</a>).</li></ul></div></div><div class="spec val" id="val-to_slice"><a href="#val-to_slice" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_slice : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array<span class="keyword"> * </span>int<span class="keyword"> * </span>int</code></div><div class="doc"><p><code class="code">to_slice as</code> converts the slice <code class="code">as</code> into a triple <code class="code">(a, i, len)</code> where <code class="code">len</code> is the length of
|
||||
the sub-array of <code class="code">a</code> starting at offset <code class="code">i</code>.</p></div></div><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">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p><code class="code">to_list as</code> converts the slice <code class="code">as</code> directly to a list.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-full"><a href="#val-full" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>full : <span class="type-var">'a</span> array <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">full a</code> creates a slice that covers the full array <code class="code">a</code>.</p></div></div><div class="spec val" id="val-underlying"><a href="#val-underlying" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>underlying : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array</code></div><div class="doc"><p><code class="code">underlying as</code> returns the underlying array (shared). Modifying this array will modify
|
||||
the slice <code class="code">as</code>.</p></div></div><div class="spec val" id="val-copy"><a href="#val-copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>copy : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array</code></div><div class="doc"><p><code class="code">copy as</code> copies the slice <code class="code">as</code> into a new array.</p></div></div><div class="spec val" id="val-sub"><a href="#val-sub" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sub : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">sub as i len</code> builds a new sub-slice that contains the given subrange specified
|
||||
by the index <code class="code">i</code> and the length <code class="code">len</code>.</p></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">set as n x</code> modifies the slice <code class="code">as</code> in place, replacing
|
||||
element number <code class="code">n</code> with <code class="code">x</code>.
|
||||
You can also write <code class="code">as.(n) <- x</code> instead of <code class="code">set as n x</code>.</p><p>Raise <code class="code">Invalid_argument "index out of bounds"</code>
|
||||
if <code class="code">n</code> is outside the range 0 to <code class="code">length as - 1</code>.</p></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">length as</code> returns the length (number of elements) of the given slice <code class="code">as</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">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">fold f acc as</code> computes <code class="code">f (... (f (f acc as.(0)) as.(1)) ...) as.(length as - 1)</code>.</p></div></div><div class="spec val" id="val-foldi"><a href="#val-foldi" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>foldi : (<span class="type-var">'a</span> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">foldi f acc as</code> is just like <a href="index.html#val-fold">fold</a> but it also passes in the index of each element
|
||||
as the second argument to the folded function <code class="code">f</code>.</p></div></div><div class="spec val" id="val-fold_while"><a href="#val-fold_while" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold_while : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span><span class="keyword"> * </span>[ `Stop | `Continue ]) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">fold_while f acc as</code> folds left on slice <code class="code">as</code> until a stop condition via <code class="code">('a, `Stop)</code>
|
||||
is indicated by the accumulator.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</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 : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">iter f as</code> applies function <code class="code">f</code> in turn to all elements of <code class="code">as</code>.
|
||||
It is equivalent to <code class="code">f as.(0); f as.(1); ...; f as.(length as - 1); ()</code>.</p></div></div><div class="spec val" id="val-iteri"><a href="#val-iteri" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iteri : (int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">iteri f as</code> is like <a href="index.html#val-iter">iter</a>, but the function <code class="code">f</code> is applied with the index of the element
|
||||
as first argument, and the element itself as second argument.</p></div></div><div class="spec val" id="val-blit"><a href="#val-blit" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>blit : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">blit as1 o1 as2 o2 len</code> copies <code class="code">len</code> elements
|
||||
from slice <code class="code">as1</code>, starting at element number <code class="code">o1</code>, to slice <code class="code">as2</code>,
|
||||
starting at element number <code class="code">o2</code>. It works correctly even if
|
||||
<code class="code">as1</code> and <code class="code">as2</code> are the same slice, and the source and
|
||||
destination chunks overlap.</p><p>Raise <code class="code">Invalid_argument "CCArray_slice.blit"</code> if <code class="code">o1</code> and <code class="code">len</code> do not
|
||||
designate a valid subarray of <code class="code">as1</code>, or if <code class="code">o2</code> and <code class="code">len</code> do not
|
||||
designate a valid subarray of <code class="code">as2</code>.</p></div></div><div class="spec val" id="val-reverse_in_place"><a href="#val-reverse_in_place" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>reverse_in_place : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">reverse_in_place as</code> reverses the slice <code class="code">as</code> in place.</p></div></div><div class="spec val" id="val-sorted"><a href="#val-sorted" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sorted : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array</code></div><div class="doc"><p><code class="code">sorted cmp as</code> makes a copy of <code class="code">as</code> and sorts it with <code class="code">cmp</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-sort_indices"><a href="#val-sort_indices" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sort_indices : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int array</code></div><div class="doc"><p><code class="code">sort_indices cmp as</code> returns a new array <code class="code">b</code>, with the same length as <code class="code">as</code>,
|
||||
such that <code class="code">b.(i)</code> is the index at which the <code class="code">i</code>-th element of <code class="code">sorted cmp as</code>
|
||||
appears in <code class="code">as</code>. <code class="code">as</code> is not modified.</p><p>In other words, <code class="code">map (fun i -> as.(i)) (sort_indices cmp as) = sorted cmp as</code>.
|
||||
<code class="code">sort_indices</code> yields the inverse permutation of <a href="index.html#val-sort_ranking">sort_ranking</a>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-sort_ranking"><a href="#val-sort_ranking" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sort_ranking : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int array</code></div><div class="doc"><p><code class="code">sort_ranking cmp as</code> returns a new array <code class="code">b</code>, with the same length as <code class="code">as</code>,
|
||||
such that <code class="code">b.(i)</code> is the index at which the <code class="code">i</code>-th element of <code class="code">as</code> appears
|
||||
in <code class="code">sorted cmp as</code>. <code class="code">as</code> is not modified.</p><p>In other words, <code class="code">map (fun i -> (sorted cmp as).(i)) (sort_ranking cmp as) = as</code>.
|
||||
<code class="code">sort_ranking</code> yields the inverse permutation of <a href="index.html#val-sort_indices">sort_indices</a>.</p><p>In the absence of duplicate elements in <code class="code">as</code>, we also have
|
||||
<code class="code">lookup_exn as.(i) (sorted as) = (sorted_ranking as).(i)</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></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 : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> option</code></div><div class="doc"><p><code class="code">find f as</code> returns <code class="code">Some y</code> if there is an element <code class="code">x</code> such
|
||||
that <code class="code">f x = Some y</code>. Otherwise returns <code class="code">None</code>.</p></div></div><div class="spec val" id="val-findi"><a href="#val-findi" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>findi : (int <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> option</code></div><div class="doc"><p><code class="code">findi f as</code> is like <a href="index.html#val-find">find</a>, but the index of the element is also passed
|
||||
to the predicate function <code class="code">f</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.3.4</li></ul></div></div><div class="spec val" id="val-find_idx"><a href="#val-find_idx" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_idx : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (int<span class="keyword"> * </span><span class="type-var">'a</span>) option</code></div><div class="doc"><p><code class="code">find_idx p as</code> returns <code class="code">Some (i,x)</code> where <code class="code">x</code> is the <code class="code">i</code>-th element of <code class="code">as</code>,
|
||||
and <code class="code">p x</code> holds. Otherwise returns <code class="code">None</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.3.4</li></ul></div></div><div class="spec val" id="val-lookup"><a href="#val-lookup" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lookup : cmp:<span class="type-var">'a</span> <a href="index.html#type-ord">ord</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int option</code></div><div class="doc"><p><code class="code">lookup ~cmp x as</code> lookups the index <code class="code">i</code> of some key <code class="code">x</code> in the slice <code class="code">as</code>, provided <code class="code">as</code> is
|
||||
sorted using <code class="code">cmp</code>.</p><ul class="at-tag"><li><span class="at-tag return">Returns</span> <code class="code">None</code> if the key <code class="code">x</code> is not present, or
|
||||
<code class="code">Some i</code> (<code class="code">i</code> the index of the key) otherwise.</li></ul></div></div><div class="spec val" id="val-lookup_exn"><a href="#val-lookup_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lookup_exn : cmp:<span class="type-var">'a</span> <a href="index.html#type-ord">ord</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">lookup_exn ~cmp x as</code> is like <a href="index.html#val-lookup">lookup</a>, but</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if the key <code class="code">x</code> is not present.</li></ul></div></div><div class="spec val" id="val-bsearch"><a href="#val-bsearch" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>bsearch : cmp:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> [ `All_lower | `All_bigger | `Just_after of int | `Empty | `At of int ]</code></div><div class="doc"><p><code class="code">bsearch ~cmp x as</code> finds the index of the object <code class="code">x</code> in the slice <code class="code">as</code>,
|
||||
provided <code class="code">as</code> is <b>sorted</b> using <code class="code">cmp</code>. If the slice is not sorted,
|
||||
the result is not specified (may raise Invalid_argument).</p><p>Complexity: <code class="code">O(log n)</code> where n is the length of the slice <code class="code">as</code>
|
||||
(dichotomic search).</p><ul class="at-tag"><li><p><span class="at-tag return">Returns</span> </p><ul><li><code class="code">`At i</code> if <code class="code">cmp as.(i) x = 0</code> (for some i).</li><li><code class="code">`All_lower</code> if all elements of <code class="code">as</code> are lower than <code class="code">x</code>.</li><li><code class="code">`All_bigger</code> if all elements of <code class="code">as</code> are bigger than <code class="code">x</code>.</li><li><code class="code">`Just_after i</code> if <code class="code">as.(i) < x < as.(i+1)</code>.</li><li><code class="code">`Empty</code> if the slice <code class="code">as</code> is empty.</li></ul></li><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the slice is found to be unsorted w.r.t <code class="code">cmp</code>.</li><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-for_all"><a href="#val-for_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">for_all p [|as1; ...; asn|]</code> checks if all elements of the slice
|
||||
satisfy the predicate <code class="code">p</code>. That is, it returns
|
||||
<code class="code">(p as1) && (p as2) && ... && (p asn)</code>.</p></div></div><div class="spec val" id="val-for_all2"><a href="#val-for_all2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all2 : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">for_all2 p [|as1; ...; asn|] [|bs1; ...; bsn|]</code> is <code class="code">true</code> if each pair of elements <code class="code">asi bsi</code>
|
||||
satisfies the predicate <code class="code">p</code>.
|
||||
That is, it returns <code class="code">(p as1 bs1) && (p as2 bs2) && ... && (p asn bsn)</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if slices have distinct lengths.
|
||||
Allow different types.</li><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-exists"><a href="#val-exists" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists : (<span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">exists p [|as1; ...; asn|]</code> is <code class="code">true</code> if at least one element of
|
||||
the slice satisfies the predicate <code class="code">p</code>. That is, it returns
|
||||
<code class="code">(p as1) || (p as2) || ... || (p asn)</code>.</p></div></div><div class="spec val" id="val-exists2"><a href="#val-exists2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists2 : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">exists2 p [|as1; ...; asn|] [|bs1; ...; bsn|]</code> is <code class="code">true</code> if any pair of elements <code class="code">asi bsi</code>
|
||||
satisfies the predicate <code class="code">p</code>.
|
||||
That is, it returns <code class="code">(p as1 bs1) || (p as2 bs2) || ... || (p asn bsn)</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if slices have distinct lengths.
|
||||
Allow different types.</li><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-fold2"><a href="#val-fold2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold2 : (<span class="type-var">'acc</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'acc</span>) <span class="keyword">‑></span> <span class="type-var">'acc</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'acc</span></code></div><div class="doc"><p><code class="code">fold2 f acc as bs</code> fold on two slices <code class="code">as</code> and <code class="code">bs</code> stepwise.
|
||||
It computes <code class="code">f (... (f acc as1 bs1)...) asn bsn</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if slices have distinct lengths.</li><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-iter2"><a href="#val-iter2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter2 : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">iter2 f as bs</code> iterates on the two slices <code class="code">as</code> and <code class="code">bs</code> stepwise.
|
||||
It is equivalent to <code class="code">f as0 bs0; ...; f as.(length as - 1) bs.(length bs - 1); ()</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if slices have distinct lengths.</li><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-shuffle"><a href="#val-shuffle" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>shuffle : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">shuffle as</code> randomly shuffles the slice <code class="code">as</code>, in place.</p></div></div><div class="spec val" id="val-shuffle_with"><a href="#val-shuffle_with" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>shuffle_with : Random.State.t <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">shuffle_with rs as</code> randomly shuffles the slice <code class="code">as</code> (like <a href="index.html#val-shuffle">shuffle</a>) but a specialized random
|
||||
state <code class="code">rs</code> is used to control the random numbers being produced during shuffling (for reproducibility).</p></div></div><div class="spec val" id="val-random_choose"><a href="#val-random_choose" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>random_choose : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-random_gen">random_gen</a></code></div><div class="doc"><p><code class="code">random_choose as rs</code> randomly chooses an element of <code class="code">as</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if the array/slice is empty.</li></ul></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">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p><code class="code">to_seq as</code> returns a <code class="code">sequence</code> of the elements of a slice <code class="code">as</code>.
|
||||
The input slice <code class="code">as</code> is shared with the sequence and modification of it will result
|
||||
in modification of the sequence.</p></div></div><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p><code class="code">to_gen as</code> returns a <code class="code">gen</code> of the elements of a slice <code class="code">as</code>.</p></div></div><div class="spec val" id="val-to_klist"><a href="#val-to_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_klist : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-klist">klist</a></code></div><div class="doc"><p><code class="code">to_klist as</code> returns a <code class="code">klist</code> of the elements of a slice <code class="code">as</code>.</p></div></div><h3>IO</h3><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : ?⁠sep:string <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"><p><code class="code">pp ~sep pp_item ppf as</code> formats the slice <code class="code">as</code> on <code class="code">ppf</code>.
|
||||
Each element is formatted with <code class="code">pp_item</code> and elements are separated
|
||||
by <code class="code">sep</code> (defaults to ", ").</p></div></div><div class="spec val" id="val-pp_i"><a href="#val-pp_i" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_i : ?⁠sep:string <span class="keyword">‑></span> (int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a>) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"><p><code class="code">pp_i ~sep pp_item ppf as</code> prints the slice <code class="code">as</code> on <code class="code">ppf</code>.
|
||||
The printing function <code class="code">pp_item</code> is giving both index and element.
|
||||
Elements are separated by <code class="code">sep</code> (defaults to ", ").</p></div></div></body></html>
|
||||
0
2.3/containers/CCBV/.jbuilder-keep
Normal file
0
2.3/containers/CCBV/.jbuilder-keep
Normal file
18
2.3/containers/CCBV/index.html
Normal file
18
2.3/containers/CCBV/index.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBV (containers.CCBV)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBV</span></h1></header><h3>Imperative Bitvectors</h3><p><b>BREAKING CHANGES</b> since 1.2:
|
||||
size is now stored along with the bitvector. Some functions have
|
||||
a new signature.</p><p>The size of the bitvector used to be rounded up to the multiple of 30 or 62.
|
||||
In other words some functions such as <a href="index.html#val-iter">iter</a> would iterate on more
|
||||
bits than what was originally asked for. This is not the case anymore.</p><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"><p>A resizable bitvector</p></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 : unit <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Empty bitvector.</p></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : size:int <span class="keyword">‑></span> bool <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a bitvector of given size, with given default value.</p></div></div><div class="spec val" id="val-copy"><a href="#val-copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>copy : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Copy of bitvector.</p></div></div><div class="spec val" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>cardinal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of bits set to one, seen as a set of bits.</p></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Size of underlying bitvector.
|
||||
This is not related to the underlying implementation.
|
||||
Changed at 1.2</p></div></div><div class="spec val" id="val-capacity"><a href="#val-capacity" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capacity : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>The number of bits this bitvector can store without resizing.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-resize"><a href="#val-resize" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>resize : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Resize the BV so that it has the specified length. This can grow or shrink
|
||||
the underlying bitvector.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_arg</span>: on negative sizes.</li></ul></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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Are there any true bits?</p></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Set i-th bit, extending the bitvector if needed.</p></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Is the i-th bit true? Return false if the index is too high.</p></div></div><div class="spec val" id="val-reset"><a href="#val-reset" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>reset : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Set i-th bit to 0, extending the bitvector if needed.</p></div></div><div class="spec val" id="val-flip"><a href="#val-flip" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flip : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Flip i-th bit, extending the bitvector if needed.</p></div></div><div class="spec val" id="val-clear"><a href="#val-clear" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>clear : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Set every bit to 0.</p></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-t">t</a> <span class="keyword">‑></span> (int <span class="keyword">‑></span> bool <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on all bits.</p></div></div><div class="spec val" id="val-iter_true"><a href="#val-iter_true" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter_true : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (int <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on bits set to 1.</p></div></div><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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int list</code></div><div class="doc"><p>List of indexes that are true.</p></div></div><div class="spec val" id="val-to_sorted_list"><a href="#val-to_sorted_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_sorted_list : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int list</code></div><div class="doc"><p>Same as <a href="index.html#val-to_list">to_list</a>, but also guarantees the list is sorted in
|
||||
increasing order.</p></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 : int list <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>From a list of true bits.</p><p>The bits are interpreted as indices into the returned bitvector, so the final
|
||||
bitvector will have <code class="code">length t</code> equal to 1 more than max of list indices.</p></div></div><div class="spec val" id="val-first"><a href="#val-first" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>first : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int option</code></div><div class="doc"><p>First set bit, or return <code class="code">None</code>.
|
||||
Changed type at 1.2</p></div></div><div class="spec val" id="val-first_exn"><a href="#val-first_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>first_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>First set bit, or</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if all bits are 0.</li><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-filter"><a href="#val-filter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (int <span class="keyword">‑></span> bool) <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">filter bv p</code> only keeps the true bits of <code class="code">bv</code> whose <code class="code">index</code>
|
||||
satisfies <code class="code">p index</code>.</p></div></div><div class="spec val" id="val-negate_self"><a href="#val-negate_self" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>negate_self : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">negate_self t</code> flips all of the bits in <code class="code">t</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-negate"><a href="#val-negate" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>negate : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">negate t</code> returns a copy of <code class="code">t</code> with all of the bits flipped.</p></div></div><div class="spec val" id="val-union_into"><a href="#val-union_into" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>union_into : into:<a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">union_into ~into bv</code> sets <code class="code">into</code> to the union of itself and <code class="code">bv</code>.
|
||||
Also updates the length of <code class="code">into</code> to be at least <code class="code">length bv</code>.</p></div></div><div class="spec val" id="val-inter_into"><a href="#val-inter_into" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>inter_into : into:<a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">inter_into ~into bv</code> sets <code class="code">into</code> to the intersection of itself and <code class="code">bv</code>.
|
||||
Also updates the length of <code class="code">into</code> to be at most <code class="code">length bv</code>.</p></div></div><div class="spec val" id="val-union"><a href="#val-union" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>union : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">union bv1 bv2</code> returns the union of the two sets.</p></div></div><div class="spec val" id="val-inter"><a href="#val-inter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>inter : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">inter bv1 bv2</code> returns the intersection of the two sets.</p></div></div><div class="spec val" id="val-diff_into"><a href="#val-diff_into" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>diff_into : into:<a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">diff_into ~into t</code> modifies <code class="code">into</code> with only the bits set but not in <code class="code">t</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-diff"><a href="#val-diff" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>diff : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">diff t1 t2</code> returns those bits found in <code class="code">t1</code> but not in <code class="code">t2</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-select"><a href="#val-select" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>select : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p><code class="code">select arr bv</code> selects the elements of <code class="code">arr</code> whose index
|
||||
corresponds to a true bit in <code class="code">bv</code>. If <code class="code">bv</code> is too short, elements of <code class="code">arr</code>
|
||||
with too high an index cannot be selected and are therefore not
|
||||
selected.</p></div></div><div class="spec val" id="val-selecti"><a href="#val-selecti" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>selecti : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> array <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span>int) list</code></div><div class="doc"><p>Same as <a href="index.html#val-select">select</a>, but selected elements are paired with their indexes.</p></div></div><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <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 : int <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : Format.formatter <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Print the bitvector as a string of bits.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div></body></html>
|
||||
0
2.3/containers/CCBijection/.jbuilder-keep
Normal file
0
2.3/containers/CCBijection/.jbuilder-keep
Normal file
2
2.3/containers/CCBijection/Make/argument-1-L/index.html
Normal file
2
2.3/containers/CCBijection/Make/argument-1-L/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-L (containers.CCBijection.Make.1-L)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCBijection.Make.1-L</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></body></html>
|
||||
2
2.3/containers/CCBijection/Make/argument-2-R/index.html
Normal file
2
2.3/containers/CCBijection/Make/argument-2-R/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>2-R (containers.CCBijection.Make.2-R)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCBijection.Make.2-R</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></body></html>
|
||||
7
2.3/containers/CCBijection/Make/index.html
Normal file
7
2.3/containers/CCBijection/Make/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCBijection.Make)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBijection.Make</span></h1></header><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-2-R"><a href="#argument-2-R" class="anchor"></a><div class="def argument"><code><a href="argument-2-R/index.html">R</a> : <a href="../index.html#module-type-OrderedType">OrderedType</a></code></div><div class="doc"></div></div><div class="spec argument" id="argument-1-L"><a href="#argument-1-L" class="anchor"></a><div class="def argument"><code><a href="argument-1-L/index.html">L</a> : <a href="../index.html#module-type-OrderedType">OrderedType</a></code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-left"><a href="#type-left" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>left</code><code><span class="keyword"> = </span><a href="argument-1-L/index.html#type-t">L.t</a></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-right"><a href="#type-right" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>right</code><code><span class="keyword"> = </span><a href="argument-2-R/index.html#type-t">R.t</a></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 : <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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</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-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add <code class="code">left</code> and <code class="code">right</code> correspondence to bijection such that
|
||||
<code class="code">left</code> and <code class="code">right</code> are unique in their respective sets and only
|
||||
correspond to each other.</p></div></div><div class="spec val" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>cardinal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of bindings. O(n) time.</p></div></div><div class="spec val" id="val-mem"><a href="#val-mem" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check both sides for key membership.</p></div></div><div class="spec val" id="val-mem_left"><a href="#val-mem_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check for membership of correspondence using <code class="code">left</code> key.</p></div></div><div class="spec val" id="val-mem_right"><a href="#val-mem_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check for membership of correspondence using <code class="code">right</code> key.</p></div></div><div class="spec val" id="val-find_left"><a href="#val-find_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if left is not found.</li></ul></div></div><div class="spec val" id="val-find_right"><a href="#val-find_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-left">left</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if right is not found.</li></ul></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-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the <code class="code">left</code>, <code class="code">right</code> binding if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-remove_left"><a href="#val-remove_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the binding with <code class="code">left</code> key if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-remove_right"><a href="#val-remove_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the binding with <code class="code">right</code> key if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-list_left"><a href="#val-list_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_left : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list</code></div><div class="doc"><p>Return the bindings as a list of (<code class="code">left</code>, <code class="code">right</code>) values.</p></div></div><div class="spec val" id="val-list_right"><a href="#val-list_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_right : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-right">right</a><span class="keyword"> * </span><a href="index.html#type-left">left</a>) list</code></div><div class="doc"><p>Return the bindings as a list of <code class="code">(right, left)</code> values.</p></div></div><div class="spec val" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</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-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></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-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list</code></div><div class="doc"></div></div></body></html>
|
||||
4
2.3/containers/CCBijection/index.html
Normal file
4
2.3/containers/CCBijection/index.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBijection (containers.CCBijection)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBijection</span></h1></header><h2>Bijection</h2><p>
|
||||
Represents 1-to-1 mappings between two types. Each element from the "left"
|
||||
is mapped to one "right" value, and conversely.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.1</li></ul><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec module-type" id="module-type-OrderedType"><a href="#module-type-OrderedType" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-OrderedType/index.html">OrderedType</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-L/index.html">L</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) -> <span class="keyword">functor</span> (<a href="Make/argument-2-R/index.html">R</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) -> <a href="index.html#module-type-S">S</a><span class="keyword"> with </span><span class="keyword">type </span><a href="Make/index.html#type-left">left</a><span class="keyword"> = </span><a href="Make/argument-1-L/index.html#type-t">L.t</a><span class="keyword"> and </span><span class="keyword">type </span><a href="Make/index.html#type-right">right</a><span class="keyword"> = </span><a href="Make/argument-2-R/index.html#type-t">R.t</a></code></div><div class="doc"></div></div></body></html>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>OrderedType (containers.CCBijection.OrderedType)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCBijection.OrderedType</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></body></html>
|
||||
7
2.3/containers/CCBijection/module-type-S/index.html
Normal file
7
2.3/containers/CCBijection/module-type-S/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (containers.CCBijection.S)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCBijection.S</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-left"><a href="#type-left" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>left</code><code></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-right"><a href="#type-right" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>right</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 : <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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</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-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add <code class="code">left</code> and <code class="code">right</code> correspondence to bijection such that
|
||||
<code class="code">left</code> and <code class="code">right</code> are unique in their respective sets and only
|
||||
correspond to each other.</p></div></div><div class="spec val" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>cardinal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of bindings. O(n) time.</p></div></div><div class="spec val" id="val-mem"><a href="#val-mem" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check both sides for key membership.</p></div></div><div class="spec val" id="val-mem_left"><a href="#val-mem_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check for membership of correspondence using <code class="code">left</code> key.</p></div></div><div class="spec val" id="val-mem_right"><a href="#val-mem_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Check for membership of correspondence using <code class="code">right</code> key.</p></div></div><div class="spec val" id="val-find_left"><a href="#val-find_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if left is not found.</li></ul></div></div><div class="spec val" id="val-find_right"><a href="#val-find_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-left">left</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if right is not found.</li></ul></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-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the <code class="code">left</code>, <code class="code">right</code> binding if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-remove_left"><a href="#val-remove_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_left : <a href="index.html#type-left">left</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the binding with <code class="code">left</code> key if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-remove_right"><a href="#val-remove_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_right : <a href="index.html#type-right">right</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the binding with <code class="code">right</code> key if it exists. Return the
|
||||
same bijection otherwise.</p></div></div><div class="spec val" id="val-list_left"><a href="#val-list_left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_left : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list</code></div><div class="doc"><p>Return the bindings as a list of (<code class="code">left</code>, <code class="code">right</code>) values.</p></div></div><div class="spec val" id="val-list_right"><a href="#val-list_right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_right : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-right">right</a><span class="keyword"> * </span><a href="index.html#type-left">left</a>) list</code></div><div class="doc"><p>Return the bindings as a list of <code class="code">(right, left)</code> values.</p></div></div><div class="spec val" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</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-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></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-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><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 : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-left">left</a><span class="keyword"> * </span><a href="index.html#type-right">right</a>) list</code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCBitField/.jbuilder-keep
Normal file
0
2.3/containers/CCBitField/.jbuilder-keep
Normal file
2
2.3/containers/CCBitField/Make/argument-1-X/index.html
Normal file
2
2.3/containers/CCBitField/Make/argument-1-X/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-X (containers.CCBitField.Make.1-X)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCBitField.Make.1-X</span></h1></header></body></html>
|
||||
4
2.3/containers/CCBitField/Make/index.html
Normal file
4
2.3/containers/CCBitField/Make/index.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCBitField.Make)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBitField.Make</span></h1></header><div class="doc"><p>Create a new bitfield type</p></div><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-1-X"><a href="#argument-1-X" class="anchor"></a><div class="def argument"><code><a href="argument-1-X/index.html">X</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span><span class="keyword">private </span>int</code><code></code></div><div class="doc"><p>Generative type of bitfields. Each instantiation of the functor
|
||||
should create a new, incompatible type</p></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 : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Empty bitfields (all bits 0).</p></div></div><div class="spec type" id="type-field"><a href="#type-field" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>field</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="index.html#type-field">field</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Get the value of this field.</p></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <a href="index.html#type-field">field</a> <span class="keyword">‑></span> bool <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Set the value of this field.</p></div></div><div class="spec val" id="val-mk_field"><a href="#val-mk_field" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mk_field : unit <span class="keyword">‑></span> <a href="index.html#type-field">field</a></code></div><div class="doc"><p>Make a new field.</p></div></div><div class="spec val" id="val-freeze"><a href="#val-freeze" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>freeze : unit <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Prevent new fields from being added. From now on, creating
|
||||
a field will raise Frozen.</p></div></div><div class="spec val" id="val-total_width"><a href="#val-total_width" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>total_width : unit <span class="keyword">‑></span> int</code></div><div class="doc"><p>Current width of the bitfield.</p></div></div></body></html>
|
||||
15
2.3/containers/CCBitField/index.html
Normal file
15
2.3/containers/CCBitField/index.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBitField (containers.CCBitField)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBitField</span></h1></header><h2>Bit Field</h2><p>This module defines efficient bitfields
|
||||
up to 30 or 62 bits (depending on the architecture) in
|
||||
a relatively type-safe way.</p><pre><code class="code"> module B = CCBitField.Make(struct end);;
|
||||
|
||||
let x = B.mk_field ()
|
||||
let y = B.mk_field ()
|
||||
let z = B.mk_field ()
|
||||
|
||||
let f = B.empty |> B.set x true |> B.set y true;;
|
||||
|
||||
assert (not (B.get z f)) ;;
|
||||
|
||||
assert (f |> B.set z true |> B.get z);;
|
||||
</code></pre><div class="spec exception" id="exception-TooManyFields"><a href="#exception-TooManyFields" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">TooManyFields</span></code></div><div class="doc"><p>Raised when too many fields are packed into one bitfield.</p></div></div><div class="spec exception" id="exception-Frozen"><a href="#exception-Frozen" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Frozen</span></code></div><div class="doc"><p>Raised when a frozen bitfield is modified.</p></div></div><div class="spec val" id="val-max_width"><a href="#val-max_width" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>max_width : int</code></div><div class="doc"><p>System-dependent maximum width for a bitfield, typically 30 or 62.</p></div></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Bitfield Signature</h3></div></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-X/index.html">X</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span>) -> <a href="index.html#module-type-S">S</a></code></div><div class="doc"><p>Create a new bitfield type</p></div></div></body></html>
|
||||
4
2.3/containers/CCBitField/module-type-S/index.html
Normal file
4
2.3/containers/CCBitField/module-type-S/index.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (containers.CCBitField.S)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCBitField.S</span></h1></header><div class="doc"><h3>Bitfield Signature</h3></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>t</code><code><span class="keyword"> = </span><span class="keyword">private </span>int</code><code></code></div><div class="doc"><p>Generative type of bitfields. Each instantiation of the functor
|
||||
should create a new, incompatible type</p></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 : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Empty bitfields (all bits 0).</p></div></div><div class="spec type" id="type-field"><a href="#type-field" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>field</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="index.html#type-field">field</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Get the value of this field.</p></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : <a href="index.html#type-field">field</a> <span class="keyword">‑></span> bool <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Set the value of this field.</p></div></div><div class="spec val" id="val-mk_field"><a href="#val-mk_field" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mk_field : unit <span class="keyword">‑></span> <a href="index.html#type-field">field</a></code></div><div class="doc"><p>Make a new field.</p></div></div><div class="spec val" id="val-freeze"><a href="#val-freeze" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>freeze : unit <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Prevent new fields from being added. From now on, creating
|
||||
a field will raise Frozen.</p></div></div><div class="spec val" id="val-total_width"><a href="#val-total_width" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>total_width : unit <span class="keyword">‑></span> int</code></div><div class="doc"><p>Current width of the bitfield.</p></div></div></body></html>
|
||||
0
2.3/containers/CCBlockingQueue/.jbuilder-keep
Normal file
0
2.3/containers/CCBlockingQueue/.jbuilder-keep
Normal file
9
2.3/containers/CCBlockingQueue/index.html
Normal file
9
2.3/containers/CCBlockingQueue/index.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBlockingQueue (containers.CCBlockingQueue)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBlockingQueue</span></h1></header><h2>Blocking Queue</h2><p>This queue has a limited size. Pushing a value on the queue when it
|
||||
is full will block.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul><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"><p>Safe-thread queue for values of type <code class="code">'a</code></p></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : int <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a new queue of size <code class="code">n</code>. Using <code class="code">n=max_int</code> amounts to using
|
||||
an infinite queue (2^61 items is a lot to fit in memory); using <code class="code">n=1</code>
|
||||
amounts to using a box with 0 or 1 elements inside.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">n < 1</code>.</li></ul></div></div><div class="spec val" id="val-push"><a href="#val-push" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>push : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">push q x</code> pushes <code class="code">x</code> into <code class="code">q</code>, blocking if the queue is full.</p></div></div><div class="spec val" id="val-take"><a href="#val-take" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Take the first element, blocking if needed.</p></div></div><div class="spec val" id="val-push_list"><a href="#val-push_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>push_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> list <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Push items of the list, one by one.</p></div></div><div class="spec val" id="val-take_list"><a href="#val-take_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p><code class="code">take_list n q</code> takes <code class="code">n</code> elements out of <code class="code">q</code>.</p></div></div><div class="spec val" id="val-try_take"><a href="#val-try_take" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>try_take : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p>Take the first element if the queue is not empty, return <code class="code">None</code>
|
||||
otherwise.</p></div></div><div class="spec val" id="val-try_push"><a href="#val-try_push" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>try_push : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">try_push q x</code> pushes <code class="code">x</code> into <code class="code">q</code> if <code class="code">q</code> is not full, in which
|
||||
case it returns <code class="code">true</code>.
|
||||
If it fails because <code class="code">q</code> is full, it returns <code class="code">false</code>.</p></div></div><div class="spec val" id="val-peek"><a href="#val-peek" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>peek : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> option</code></div><div class="doc"><p><code class="code">peek q</code> returns <code class="code">Some x</code> if <code class="code">x</code> is the first element of <code class="code">q</code>,
|
||||
otherwise it returns <code class="code">None</code>.</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">‑></span> int</code></div><div class="doc"><p>Number of elements currently in the queue.</p></div></div><div class="spec val" id="val-capacity"><a href="#val-capacity" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capacity : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of values the queue can hold.</p></div></div></body></html>
|
||||
0
2.3/containers/CCBool/.jbuilder-keep
Normal file
0
2.3/containers/CCBool/.jbuilder-keep
Normal file
2
2.3/containers/CCBool/index.html
Normal file
2
2.3/containers/CCBool/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBool (containers.CCBool)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCBool</span></h1></header><h2>Basic Bool functions</h2><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span>bool</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Total ordering on booleans, similar to <span class="xref-unresolved" title="unresolved reference to "Pervasives.compare"">Pervasives.compare</span>.</p></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-negate"><a href="#val-negate" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>negate : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Negation on booleans (functional version of <code class="code">not</code>).</p><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> since 1.3, simply use not instead.</li></ul></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCCache/.jbuilder-keep
Normal file
0
2.3/containers/CCCache/.jbuilder-keep
Normal file
38
2.3/containers/CCCache/index.html
Normal file
38
2.3/containers/CCCache/index.html
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCCache (containers.CCCache)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCCache</span></h1></header><h2>Caches</h2><p>Particularly useful for memoization. See <a href="index.html#val-with_cache">with_cache</a> and <a href="index.html#val-with_cache_rec">with_cache_rec</a>
|
||||
for more details.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6</li></ul><div class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a equal</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-hash"><a href="#type-hash" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a hash</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> int</code><code></code></div><div class="doc"></div></div><h3>Value interface</h3><p>Typical use case: one wants to memoize a function <code class="code">f : 'a -> 'b</code>. Code sample:
|
||||
</p><pre><code class="code"> let f x =
|
||||
print_endline "call f";
|
||||
x + 1;;
|
||||
|
||||
let f' = with_cache (lru 256) f;;
|
||||
f' 0;; (* prints *)
|
||||
f' 1;; (* prints *)
|
||||
f' 0;; (* doesn't print, returns cached value *)</code></pre><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6</li></ul><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, 'b) t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-clear"><a href="#val-clear" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>clear : (<span class="type-var">_</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Clear the content of the cache.</p></div></div><div class="spec type" id="type-callback"><a href="#type-callback" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>('a, 'b) callback</code><code><span class="keyword"> = </span>in_cache:bool <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"><p>Type of the callback that is called once a cached value is found
|
||||
or not.
|
||||
Should never raise.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">in_cache</span>: is <code class="code">true</code> if the value was in cache, <code class="code">false</code>
|
||||
if the value was just produced.</li><li><span class="at-tag since">Since</span>: 1.3</li></ul></div></div><div class="spec val" id="val-with_cache"><a href="#val-with_cache" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_cache : ?⁠cb:(<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-callback">callback</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">with_cache c f</code> behaves like <code class="code">f</code>, but caches calls to <code class="code">f</code> in the
|
||||
cache <code class="code">c</code>. It always returns the same value as
|
||||
<code class="code">f x</code>, if <code class="code">f x</code> returns, or raise the same exception.
|
||||
However, <code class="code">f</code> may not be called if <code class="code">x</code> is in the cache.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">cb</span>: called after the value is generated or retrieved.</li></ul></div></div><div class="spec val" id="val-with_cache_rec"><a href="#val-with_cache_rec" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_cache_rec : ?⁠cb:(<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-callback">callback</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> ((<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">with_cache_rec c f</code> is a function that first, applies <code class="code">f</code> to
|
||||
some <code class="code">f' = fix f</code>, such that recursive calls to <code class="code">f'</code> are cached in <code class="code">c</code>.
|
||||
It is similar to <a href="index.html#val-with_cache">with_cache</a> but with a function that takes as
|
||||
first argument its own recursive version.
|
||||
Example (memoized Fibonacci function):
|
||||
</p><pre><code class="code"> let fib = with_cache_rec (lru 256)
|
||||
(fun fib' n -> match n with
|
||||
| 1 | 2 -> 1
|
||||
| _ -> fib' (n-1) + fib' (n-2)
|
||||
);;
|
||||
|
||||
fib 70;;</code></pre><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">cb</span>: called after the value is generated or retrieved.</li></ul></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>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Size of the cache (number of entries). At most linear in the number
|
||||
of entries.</p></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 : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on cached values. Should yield <code class="code">size cache</code> pairs.</p></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 : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Manually add a cached value. Return <code class="code">true</code> if the value has successfully
|
||||
been added, and <code class="code">false</code> if the value was already bound.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.5</li></ul></div></div><div class="spec val" id="val-dummy"><a href="#val-dummy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dummy : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Dummy cache, never stores any value.</p></div></div><div class="spec val" id="val-linear"><a href="#val-linear" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>linear : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Linear cache with the given size. It stores key/value pairs in
|
||||
an array and does linear search at every call, so it should only be used
|
||||
with small size.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">eq</span>: optional equality predicate for keys.</li></ul></div></div><div class="spec val" id="val-replacing"><a href="#val-replacing" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>replacing : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> ?⁠hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Replacing cache of the given size. Equality and hash functions can be
|
||||
parametrized. It's a hash table that handles collisions by replacing
|
||||
the old value with the new (so a cache entry is evicted when another
|
||||
entry with the same hash (modulo size) is added).
|
||||
Never grows wider than the given size.</p></div></div><div class="spec val" id="val-lru"><a href="#val-lru" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lru : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> ?⁠hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>LRU cache of the given size ("Least Recently Used": keys that have not been
|
||||
used recently are deleted first). Never grows wider than the given size.</p></div></div><div class="spec val" id="val-unbounded"><a href="#val-unbounded" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>unbounded : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span class="keyword">‑></span> ?⁠hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Unbounded cache, backed by a Hash table. Will grow forever
|
||||
unless <a href="index.html#val-clear">clear</a> is called manually.</p></div></div></body></html>
|
||||
0
2.3/containers/CCChar/.jbuilder-keep
Normal file
0
2.3/containers/CCChar/.jbuilder-keep
Normal file
9
2.3/containers/CCChar/index.html
Normal file
9
2.3/containers/CCChar/index.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCChar (containers.CCChar)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCChar</span></h1></header><h2>Utils around char</h2><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">module type of </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-code"><a href="#val-code" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>code : char <span class="keyword">‑></span> int = "%identity" </code></div><div class="doc"></div></div><div class="spec val" id="val-chr"><a href="#val-chr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>chr : int <span class="keyword">‑></span> char</code></div><div class="doc"></div></div><div class="spec val" id="val-escaped"><a href="#val-escaped" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>escaped : char <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-lowercase"><a href="#val-lowercase" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase : char <span class="keyword">‑></span> char</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use Char.lowercase_ascii instead.</li></ul></div></div><div class="spec val" id="val-uppercase"><a href="#val-uppercase" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase : char <span class="keyword">‑></span> char</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use Char.uppercase_ascii instead.</li></ul></div></div><div class="spec val" id="val-lowercase_ascii"><a href="#val-lowercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase_ascii : char <span class="keyword">‑></span> char</code></div><div class="doc"></div></div><div class="spec val" id="val-uppercase_ascii"><a href="#val-uppercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase_ascii : char <span class="keyword">‑></span> char</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>t</code><code><span class="keyword"> = </span>char</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_chr"><a href="#val-unsafe_chr" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_chr : int <span class="keyword">‑></span> char = "%identity" </code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>The equal function for chars.</p></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>The comparison function for characters, with the same specification as
|
||||
<span class="xref-unresolved" title="unresolved reference to "Pervasives.compare"">Pervasives.compare</span>. Along with the type <code class="code">t</code>, this function <code class="code">compare</code>
|
||||
allows the module <code class="code">Char</code> to be passed as argument to the functors
|
||||
<span class="xref-unresolved" title="unresolved reference to "Set.Make"">Set.Make</span> and <span class="xref-unresolved" title="unresolved reference to "Map.Make"">Map.Make</span>.</p></div></div><div class="spec val" id="val-lowercase_ascii"><a href="#val-lowercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase_ascii : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Convert the given character to its equivalent lowercase character,
|
||||
using the US-ASCII character set.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-uppercase_ascii"><a href="#val-uppercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase_ascii : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Convert the given character to its equivalent uppercase character,
|
||||
using the US-ASCII character set.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.20</li></ul></div></div><div class="spec val" id="val-of_int_exn"><a href="#val-of_int_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int_exn : int <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Char.chr"">Char.chr</span>.
|
||||
Return the character with the given ASCII code.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the int is not within <code class="code">0,...,255</code>.</li><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-of_int"><a href="#val-of_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_int : int <span class="keyword">‑></span> <a href="index.html#type-t">t</a> option</code></div><div class="doc"><p>Safe version of <a href="index.html#val-of_int_exn">of_int_exn</a>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-to_int"><a href="#val-to_int" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_int : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "Char.code"">Char.code</span>.
|
||||
Return the ASCII code of the argument.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-pp_buf"><a href="#val-pp_buf" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_buf : Buffer.t <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Renamed from <code class="code">pp</code> since 2.0.</p></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : Format.formatter <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Renamed from <code class="code">print</code> since 2.0.</p></div></div></body></html>
|
||||
0
2.3/containers/CCDeque/.jbuilder-keep
Normal file
0
2.3/containers/CCDeque/.jbuilder-keep
Normal file
13
2.3/containers/CCDeque/index.html
Normal file
13
2.3/containers/CCDeque/index.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCDeque (containers.CCDeque)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCDeque</span></h1></header><h2>Imperative deque</h2><p>This structure provides fast access to its front and back elements,
|
||||
with O(1) operations.</p><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"><p>Contains 'a elements, queue in both ways</p></div></div><div class="spec exception" id="exception-Empty"><a href="#exception-Empty" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Empty</span></code></div><div class="doc"></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : unit <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>New deque.</p></div></div><div class="spec val" id="val-clear"><a href="#val-clear" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>clear : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Remove all elements.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></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">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Is the deque empty?</p></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : eq:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">equal a b</code> checks whether <code class="code">a</code> and <code class="code">b</code> contain the same sequence of
|
||||
elements.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">eq</span>: comparison function for elements.</li><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : cmp:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">compare a b</code> compares lexicographically <code class="code">a</code> and <code class="code">b</code>.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">cmp</span>: comparison function for elements.</li><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of elements.
|
||||
Used to be linear time, now constant time.</p></div></div><div class="spec val" id="val-push_front"><a href="#val-push_front" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>push_front : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Push value at the front.</p></div></div><div class="spec val" id="val-push_back"><a href="#val-push_back" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>push_back : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Push value at the back.</p></div></div><div class="spec val" id="val-peek_front"><a href="#val-peek_front" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>peek_front : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>First value.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if empty.</li></ul></div></div><div class="spec val" id="val-peek_back"><a href="#val-peek_back" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>peek_back : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Last value.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if empty.</li></ul></div></div><div class="spec val" id="val-take_back"><a href="#val-take_back" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take_back : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Take last value.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if empty.</li></ul></div></div><div class="spec val" id="val-take_front"><a href="#val-take_front" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take_front : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Take first value.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if empty.</li></ul></div></div><div class="spec val" id="val-append_front"><a href="#val-append_front" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_front : into:<span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">append_front ~into q</code> adds all elements of <code class="code">q</code> at the front
|
||||
of <code class="code">into</code>.
|
||||
<code class="code">O(length q)</code> in time.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-append_back"><a href="#val-append_back" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_back : into:<span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">append_back ~into q</code> adds all elements of <code class="code">q</code> at the back of <code class="code">into</code>.
|
||||
<code class="code">O(length q)</code> in time.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</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 : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on elements.</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">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p>Fold on elements.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><h3>Conversions</h3><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></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 : <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a deque from the sequence.
|
||||
Optional argument <code class="code">deque</code> disappears, use <a href="index.html#val-add_seq_back">add_seq_back</a> instead.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></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">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on the elements.</p></div></div><div class="spec val" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_gen : <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">of_gen g</code> makes a deque containing the elements of <code class="code">g</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p>Iterate on the elements of the deque.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-add_seq_front"><a href="#val-add_seq_front" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq_front : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_seq_front q seq</code> adds elements of <code class="code">seq</code> into the front of <code class="code">q</code>,
|
||||
in reverse order.
|
||||
<code class="code">O(n)</code> in time, where <code class="code">n</code> is the number of elements to add.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-add_seq_back"><a href="#val-add_seq_back" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq_back : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_seq_back q seq</code> adds elements of <code class="code">seq</code> into the back of <code class="code">q</code>,
|
||||
in order.
|
||||
<code class="code">O(n)</code> in time, where <code class="code">n</code> is the number of elements to add.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-copy"><a href="#val-copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>copy : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Fresh copy, <code class="code">O(n)</code> in time.</p></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 : <span class="type-var">'a</span> list <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Conversion from list, in order.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><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">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p>List of elements, in order. Less efficient than <a href="index.html#val-to_rev_list">to_rev_list</a>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-to_rev_list"><a href="#val-to_rev_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_rev_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p>Efficient conversion to list, in reverse order.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><h3>print</h3><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <a href="index.html#type-printer">printer</a></code></div><div class="doc"><p>Print the elements.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div></body></html>
|
||||
0
2.3/containers/CCEqual/.jbuilder-keep
Normal file
0
2.3/containers/CCEqual/.jbuilder-keep
Normal file
2
2.3/containers/CCEqual/Infix/index.html
Normal file
2
2.3/containers/CCEqual/Infix/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Infix (containers.CCEqual.Infix)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCEqual.Infix</span></h1></header><div class="spec val" id="val-(>|=)"><a href="#val-(>|=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>|=) : <span class="type-var">'b</span> <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a></code></div><div class="doc"><p>Infix equivalent of <a href="../index.html#val-map">map</a>.</p></div></div></body></html>
|
||||
7
2.3/containers/CCEqual/index.html
Normal file
7
2.3/containers/CCEqual/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCFQueue/.jbuilder-keep
Normal file
0
2.3/containers/CCFQueue/.jbuilder-keep
Normal file
8
2.3/containers/CCFQueue/index.html
Normal file
8
2.3/containers/CCFQueue/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCFloat/.jbuilder-keep
Normal file
0
2.3/containers/CCFloat/.jbuilder-keep
Normal file
2
2.3/containers/CCFloat/Infix/index.html
Normal file
2
2.3/containers/CCFloat/Infix/index.html
Normal file
File diff suppressed because one or more lines are too long
8
2.3/containers/CCFloat/index.html
Normal file
8
2.3/containers/CCFloat/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCFormat/.jbuilder-keep
Normal file
0
2.3/containers/CCFormat/.jbuilder-keep
Normal file
2
2.3/containers/CCFormat/Dump/index.html
Normal file
2
2.3/containers/CCFormat/Dump/index.html
Normal file
File diff suppressed because one or more lines are too long
44
2.3/containers/CCFormat/index.html
Normal file
44
2.3/containers/CCFormat/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCFun/.jbuilder-keep
Normal file
0
2.3/containers/CCFun/.jbuilder-keep
Normal file
2
2.3/containers/CCFun/Monad/argument-1-X/index.html
Normal file
2
2.3/containers/CCFun/Monad/argument-1-X/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-X (containers.CCFun.Monad.1-X)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCFun.Monad.1-X</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div></body></html>
|
||||
2
2.3/containers/CCFun/Monad/index.html
Normal file
2
2.3/containers/CCFun/Monad/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Monad (containers.CCFun.Monad)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCFun.Monad</span></h1></header><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-1-X"><a href="#argument-1-X" class="anchor"></a><div class="def argument"><code><a href="argument-1-X/index.html">X</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><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><span class="keyword"> = </span><a href="argument-1-X/index.html#type-t">X.t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-return"><a href="#val-return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>return : <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Monadic <code class="code">return</code>.</p></div></div><div class="spec val" id="val-(>|=)"><a href="#val-(>|=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>|=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-(>>=)"><a href="#val-(>>=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>>=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a>) <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Monadic <code class="code">bind</code>.</p></div></div></body></html>
|
||||
18
2.3/containers/CCFun/index.html
Normal file
18
2.3/containers/CCFun/index.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCFun (containers.CCFun)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCFun</span></h1></header><h2>Basic Functions</h2><div class="spec val" id="val-(|>)"><a href="#val-(|>)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(|>) : <span class="type-var">'a</span> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p>A 'pipe' operator. <code class="code">x |> f</code> is the same as <code class="code">f x</code>.</p></div></div><div class="spec val" id="val-compose"><a href="#val-compose" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compose : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Composition. <code class="code">compose f g x</code> is <code class="code">g (f x)</code>.</p></div></div><div class="spec val" id="val-compose_binop"><a href="#val-compose_binop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compose_binop : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p><code class="code">compose_binop f g</code> is <code class="code">fun x y -> g (f x) (f y)</code>.
|
||||
Example (partial order):
|
||||
<code class="code">List.sort (compose_binop fst CCInt.compare) [1, true; 2, false; 1, false]</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6</li></ul></div></div><div class="spec val" id="val-(%>)"><a href="#val-(%>)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(%>) : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Alias to <code class="code">compose</code>.</p></div></div><div class="spec val" id="val-(@@)"><a href="#val-(@@)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(@@) : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">f @@ x</code> is the same as <code class="code">f x</code>, but right-associative.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.5</li></ul></div></div><div class="spec val" id="val-id"><a href="#val-id" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>id : <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Identity function.</p></div></div><div class="spec val" id="val-const"><a href="#val-const" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>const : <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Produce a function that just returns its first argument.
|
||||
<code class="code">const x y = x</code> for any <code class="code">y</code>.</p></div></div><div class="spec val" id="val-flip"><a href="#val-flip" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flip : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Reverse the order of arguments for a binary function.</p></div></div><div class="spec val" id="val-curry"><a href="#val-curry" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>curry : ((<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Convert a function which accepts a pair of arguments into a function which accepts two arguments.
|
||||
<code class="code">curry f x y</code> is <code class="code">f (x,y)</code>.</p></div></div><div class="spec val" id="val-uncurry"><a href="#val-uncurry" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uncurry : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Convert a function which accepts a two arguments into a function which accepts a pair of arguments.
|
||||
<code class="code">uncurry f (x,y)</code> is <code class="code">f x y</code>.</p></div></div><div class="spec val" id="val-tap"><a href="#val-tap" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>tap : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">tap f x</code> evaluates <code class="code">f x</code>, discards it, then returns <code class="code">x</code>. Useful
|
||||
in a pipeline, for instance:
|
||||
</p><pre><code class="code">CCArray.(1 -- 10)
|
||||
|> tap CCArray.shuffle
|
||||
|> tap @@ CCArray.sort Pervasives.compare</code></pre></div></div><div class="spec val" id="val-(%)"><a href="#val-(%)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(%) : (<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p>Mathematical composition. <code class="code">(%) f g x</code> is <code class="code">f (g x)</code>.</p></div></div><div class="spec val" id="val-lexicographic"><a href="#val-lexicographic" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lexicographic : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Lexicographic combination of comparison functions.</p></div></div><div class="spec val" id="val-finally"><a href="#val-finally" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>finally : h:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> f:(unit <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">finally h f</code> calls <code class="code">f ()</code> and returns its result. If it raises, the
|
||||
same exception is raised; in <b>any</b> case, <code class="code">h ()</code> is called after
|
||||
<code class="code">f ()</code> terminates.</p></div></div><div class="spec val" id="val-finally1"><a href="#val-finally1" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>finally1 : h:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">finally1 ~h f x</code> is the same as <code class="code">f x</code>, but after the computation,
|
||||
<code class="code">h ()</code> is called whether <code class="code">f x</code> rose an exception or not.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-finally2"><a href="#val-finally2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>finally2 : h:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span></code></div><div class="doc"><p><code class="code">finally2 ~h f x y</code> is the same as <code class="code">f x y</code>, but after the computation,
|
||||
<code class="code">h ()</code> is called whether <code class="code">f x y</code> rose an exception or not.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-opaque_identity"><a href="#val-opaque_identity" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>opaque_identity : <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">opaque_identity x</code> is like <code class="code">x</code>, but prevents Flambda from using <code class="code">x</code>'s
|
||||
definition for optimizing it. (flambda is an optimization/inlining pass
|
||||
in OCaml >= 4.03).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-iterate"><a href="#val-iterate" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iterate : int <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">iterate n f</code> is <code class="code">f</code> iterated <code class="code">n</code> times. That is to say, <code class="code">iterate 0 f x</code> is
|
||||
<code class="code">x</code>, <code class="code">iterate 1 f x</code> is <code class="code">f x</code>, <code class="code">iterate 2 f x</code> is <code class="code">f (f x)</code>, etc.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.1</li></ul></div></div><h3>Monad</h3><p>Functions with a fixed domain are monads in their codomain.</p><div class="spec module" id="module-Monad"><a href="#module-Monad" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Monad/index.html">Monad</a> : <span class="keyword">functor</span> (<a href="Monad/argument-1-X/index.html">X</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span>) -> <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCFun_vec/.jbuilder-keep
Normal file
0
2.3/containers/CCFun_vec/.jbuilder-keep
Normal file
3
2.3/containers/CCFun_vec/index.html
Normal file
3
2.3/containers/CCFun_vec/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCGraph/.jbuilder-keep
Normal file
0
2.3/containers/CCGraph/.jbuilder-keep
Normal file
2
2.3/containers/CCGraph/Dot/index.html
Normal file
2
2.3/containers/CCGraph/Dot/index.html
Normal file
File diff suppressed because one or more lines are too long
2
2.3/containers/CCGraph/Lazy_tree/index.html
Normal file
2
2.3/containers/CCGraph/Lazy_tree/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Lazy_tree (containers.CCGraph.Lazy_tree)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCGraph.Lazy_tree</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>('v, 'e) t</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-t.vertex" class="anchored"><td class="def field"><a href="#type-t.vertex" class="anchor"></a><code>vertex : <span class="type-var">'v</span>;</code></td></tr><tr id="type-t.children" class="anchored"><td class="def field"><a href="#type-t.children" class="anchor"></a><code>children : (<span class="type-var">'e</span><span class="keyword"> * </span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a>) list Lazy.t;</code></td></tr></table><code>}</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-map_v"><a href="#val-map_v" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map_v : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'b</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-fold_v"><a href="#val-fold_v" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold_v : (<span class="type-var">'acc</span> <span class="keyword">‑></span> <span class="type-var">'v</span> <span class="keyword">‑></span> <span class="type-var">'acc</span>) <span class="keyword">‑></span> <span class="type-var">'acc</span> <span class="keyword">‑></span> (<span class="type-var">'v</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'acc</span></code></div><div class="doc"></div></div></body></html>
|
||||
4
2.3/containers/CCGraph/Map/index.html
Normal file
4
2.3/containers/CCGraph/Map/index.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Map (containers.CCGraph.Map)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCGraph.Map</span></h1></header><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-1-O"><a href="#argument-1-O" class="anchor"></a><div class="def argument"><code>O : Map.OrderedType</code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><div class="spec type" id="type-vertex"><a href="#type-vertex" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>vertex</code><code><span class="keyword"> = </span><a href="index.html#argument-1-O">O</a>.t</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-as_graph"><a href="#val-as_graph" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>as_graph : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-vertex">vertex</a>, <span class="type-var">'a</span>) <a href="../index.html#type-graph">graph</a></code></div><div class="doc"><p>Graph view of the map.</p></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-add_edge"><a href="#val-add_edge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_edge : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-remove_edge"><a href="#val-remove_edge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_edge : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add a vertex, possibly with no outgoing edge.</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-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the vertex and all its outgoing edges.
|
||||
Edges that point to the vertex are <b>NOT</b> removed, they must be
|
||||
manually removed with <a href="index.html#val-remove_edge">remove_edge</a>.</p></div></div><div class="spec val" id="val-union"><a href="#val-union" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>union : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-vertices"><a href="#val-vertices" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>vertices : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-vertices_l"><a href="#val-vertices_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>vertices_l : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> 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-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list <span class="keyword">‑></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-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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_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">‑></span> (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list</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-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></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-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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">‑></span> (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div></body></html>
|
||||
2
2.3/containers/CCGraph/Seq/index.html
Normal file
2
2.3/containers/CCGraph/Seq/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Seq (containers.CCGraph.Seq)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCGraph.Seq</span></h1></header><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><span class="keyword"> = </span><span class="type-var">'a</span> <a href="../index.html#type-sequence">sequence</a></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-return"><a href="#val-return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>return : <span class="type-var">'a</span> <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-(>>=)"><a href="#val-(>>=)" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>(>>=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a>) <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></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">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter_map : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></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 : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"></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">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"></div></div><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">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"></div></div></body></html>
|
||||
2
2.3/containers/CCGraph/Traverse/Event/index.html
Normal file
2
2.3/containers/CCGraph/Traverse/Event/index.html
Normal file
File diff suppressed because one or more lines are too long
7
2.3/containers/CCGraph/Traverse/index.html
Normal file
7
2.3/containers/CCGraph/Traverse/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Traverse (containers.CCGraph.Traverse)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCGraph.Traverse</span></h1></header><div class="spec type" id="type-path"><a href="#type-path" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>('v, 'e) path</code><code><span class="keyword"> = </span>(<span class="type-var">'v</span><span class="keyword"> * </span><span class="type-var">'e</span><span class="keyword"> * </span><span class="type-var">'v</span>) list</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-generic"><a href="#val-generic" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>generic : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> bag:<span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>Traversal of the given graph, starting from a sequence
|
||||
of vertices, using the given bag to choose the next vertex to
|
||||
explore. Each vertex is visited at most once.</p></div></div><div class="spec val" id="val-generic_tag"><a href="#val-generic_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>generic_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> bag:<span class="type-var">'v</span> <a href="../index.html#type-bag">bag</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>One-shot traversal of the graph using a tag set and the given bag.</p></div></div><div class="spec val" id="val-dfs"><a href="#val-dfs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dfs : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-dfs_tag"><a href="#val-dfs_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dfs_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-bfs"><a href="#val-bfs" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>bfs : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-bfs_tag"><a href="#val-bfs_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>bfs_tag : tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec val" id="val-dijkstra"><a href="#val-dijkstra" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dijkstra : tbl:<span class="type-var">'v</span> <a href="../index.html#type-set">set</a> <span class="keyword">‑></span> ?⁠dist:(<span class="type-var">'e</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'v</span><span class="keyword"> * </span>int<span class="keyword"> * </span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-path">path</a>) <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"><p>Dijkstra algorithm, traverses a graph in increasing distance order.
|
||||
Yields each vertex paired with its distance to the set of initial vertices
|
||||
(the smallest distance needed to reach the node from the initial vertices).</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">dist</span>: distance from origin of the edge to destination,
|
||||
must be strictly positive. Default is 1 for every edge.</li></ul></div></div><div class="spec val" id="val-dijkstra_tag"><a href="#val-dijkstra_tag" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>dijkstra_tag : ?⁠dist:(<span class="type-var">'e</span> <span class="keyword">‑></span> int) <span class="keyword">‑></span> tags:<span class="type-var">'v</span> <a href="../index.html#type-tag_set">tag_set</a> <span class="keyword">‑></span> graph:(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="../index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'v</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'v</span><span class="keyword"> * </span>int<span class="keyword"> * </span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-path">path</a>) <a href="../index.html#type-sequence_once">sequence_once</a></code></div><div class="doc"></div></div><div class="spec module" id="module-Event"><a href="#module-Event" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Event/index.html">Event</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>More detailed interface</h3></div></div></body></html>
|
||||
36
2.3/containers/CCGraph/index.html
Normal file
36
2.3/containers/CCGraph/index.html
Normal file
File diff suppressed because one or more lines are too long
4
2.3/containers/CCGraph/module-type-MAP/index.html
Normal file
4
2.3/containers/CCGraph/module-type-MAP/index.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>MAP (containers.CCGraph.MAP)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCGraph.MAP</span></h1></header><div class="spec type" id="type-vertex"><a href="#type-vertex" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>vertex</code><code></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-as_graph"><a href="#val-as_graph" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>as_graph : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-vertex">vertex</a>, <span class="type-var">'a</span>) <a href="../index.html#type-graph">graph</a></code></div><div class="doc"><p>Graph view of the map.</p></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-add_edge"><a href="#val-add_edge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_edge : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-remove_edge"><a href="#val-remove_edge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_edge : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add a vertex, possibly with no outgoing edge.</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-vertex">vertex</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Remove the vertex and all its outgoing edges.
|
||||
Edges that point to the vertex are <b>NOT</b> removed, they must be
|
||||
manually removed with <a href="index.html#val-remove_edge">remove_edge</a>.</p></div></div><div class="spec val" id="val-union"><a href="#val-union" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>union : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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-vertices"><a href="#val-vertices" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>vertices : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-vertices_l"><a href="#val-vertices_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>vertices_l : <span class="type-var">_</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-vertex">vertex</a> 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-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list <span class="keyword">‑></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-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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_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">‑></span> (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) list</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-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></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-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></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">‑></span> (<a href="index.html#type-vertex">vertex</a><span class="keyword"> * </span><span class="type-var">'a</span><span class="keyword"> * </span><a href="index.html#type-vertex">vertex</a>) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCHash/.jbuilder-keep
Normal file
0
2.3/containers/CCHash/.jbuilder-keep
Normal file
8
2.3/containers/CCHash/index.html
Normal file
8
2.3/containers/CCHash/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCHashSet/.jbuilder-keep
Normal file
0
2.3/containers/CCHashSet/.jbuilder-keep
Normal file
2
2.3/containers/CCHashSet/Make/argument-1-E/index.html
Normal file
2
2.3/containers/CCHashSet/Make/argument-1-E/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-E (containers.CCHashSet.Make.1-E)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCHashSet.Make.1-E</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Positive value</p></div></div></body></html>
|
||||
3
2.3/containers/CCHashSet/Make/index.html
Normal file
3
2.3/containers/CCHashSet/Make/index.html
Normal file
File diff suppressed because one or more lines are too long
2
2.3/containers/CCHashSet/index.html
Normal file
2
2.3/containers/CCHashSet/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHashSet (containers.CCHashSet)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHashSet</span></h1></header><h2>Mutable Set</h2><p><b>status: unstable</b></p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec module-type" id="module-type-ELEMENT"><a href="#module-type-ELEMENT" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-ELEMENT/index.html">ELEMENT</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-E/index.html">E</a> : <a href="index.html#module-type-ELEMENT">ELEMENT</a>) -> <a href="index.html#module-type-S">S</a><span class="keyword"> with </span><span class="keyword">type </span><a href="Make/index.html#type-elt">elt</a><span class="keyword"> = </span><a href="Make/argument-1-E/index.html#type-t">E.t</a></code></div><div class="doc"></div></div></body></html>
|
||||
2
2.3/containers/CCHashSet/module-type-ELEMENT/index.html
Normal file
2
2.3/containers/CCHashSet/module-type-ELEMENT/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ELEMENT (containers.CCHashSet.ELEMENT)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCHashSet.ELEMENT</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Positive value</p></div></div></body></html>
|
||||
3
2.3/containers/CCHashSet/module-type-S/index.html
Normal file
3
2.3/containers/CCHashSet/module-type-S/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCHashTrie/.jbuilder-keep
Normal file
0
2.3/containers/CCHashTrie/.jbuilder-keep
Normal file
2
2.3/containers/CCHashTrie/Make/argument-1-K/index.html
Normal file
2
2.3/containers/CCHashTrie/Make/argument-1-K/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-K (containers.CCHashTrie.Make.1-K)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCHashTrie.Make.1-K</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></body></html>
|
||||
9
2.3/containers/CCHashTrie/Make/index.html
Normal file
9
2.3/containers/CCHashTrie/Make/index.html
Normal file
File diff suppressed because one or more lines are too long
7
2.3/containers/CCHashTrie/Transient/index.html
Normal file
7
2.3/containers/CCHashTrie/Transient/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Transient (containers.CCHashTrie.Transient)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHashTrie.Transient</span></h1></header><div class="doc"><h3>Transient Identifiers</h3></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>t</code><code></code><code></code></div><div class="doc"><p>Identifiers for transient modifications. A transient modification
|
||||
is uniquely identified by a <code class="code">Transient.t</code>. Once <code class="code">Transient.freeze r</code>
|
||||
is called, <code class="code">r</code> cannot be used to modify the structure again.</p></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : unit <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a new, active ID.</p></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Equality between IDs.</p></div></div><div class="spec val" id="val-frozen"><a href="#val-frozen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>frozen : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">frozen i</code> returns <code class="code">true</code> if <code class="code">freeze i</code> was called before. In this case,
|
||||
the ID cannot be used for modifications again.</p></div></div><div class="spec val" id="val-active"><a href="#val-active" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>active : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">active i</code> is <code class="code">not (frozen i)</code>.</p></div></div><div class="spec val" id="val-freeze"><a href="#val-freeze" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>freeze : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">freeze i</code> makes <code class="code">i</code> unusable for new modifications. The values
|
||||
created with <code class="code">i</code> will now be immutable.</p></div></div><div class="spec val" id="val-with_"><a href="#val-with_" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_ : (<a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">with_ f</code> creates a transient ID <code class="code">i</code>, calls <code class="code">f i</code>,
|
||||
freezes the ID <code class="code">i</code> and returns the result of <code class="code">f i</code>.</p></div></div><div class="spec exception" id="exception-Frozen"><a href="#exception-Frozen" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Frozen</span></code></div><div class="doc"><p>Raised when a frozen ID is used.</p></div></div></body></html>
|
||||
6
2.3/containers/CCHashTrie/index.html
Normal file
6
2.3/containers/CCHashTrie/index.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHashTrie (containers.CCHashTrie)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHashTrie</span></h1></header><h2>Hash Tries</h2><p>Trie indexed by the hash of the keys, where the branching factor is fixed.
|
||||
The goal is to have a quite efficient functional structure with fast
|
||||
update and access <b>if</b> the hash function is good.
|
||||
The trie is not binary, to improve cache locality and decrease depth.</p><p>Preliminary benchmarks (see the "tbl" section of benchmarks) tend to show
|
||||
that this type is quite efficient for small data sets.</p><p><b>status: unstable</b></p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-ktree"><a href="#type-ktree" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a ktree</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> [ `Nil | `Node of <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span> <a href="index.html#type-ktree">ktree</a> list ]</code><code></code></div><div class="doc"></div></div><div class="spec module" id="module-Transient"><a href="#module-Transient" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Transient/index.html">Transient</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Transient Identifiers</h3></div></div><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Signature</h3></div></div><div class="spec module-type" id="module-type-KEY"><a href="#module-type-KEY" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-KEY/index.html">KEY</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Type for keys</h3></div></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-K/index.html">K</a> : <a href="index.html#module-type-KEY">KEY</a>) -> <a href="index.html#module-type-S">S</a><span class="keyword"> with </span><span class="keyword">type </span><a href="Make/index.html#type-key">key</a><span class="keyword"> = </span><a href="Make/argument-1-K/index.html#type-t">K.t</a></code></div><div class="doc"><h3>Functors</h3></div></div></body></html>
|
||||
2
2.3/containers/CCHashTrie/module-type-KEY/index.html
Normal file
2
2.3/containers/CCHashTrie/module-type-KEY/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>KEY (containers.CCHashTrie.KEY)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCHashTrie.KEY</span></h1></header><div class="doc"><h3>Type for keys</h3></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>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></body></html>
|
||||
9
2.3/containers/CCHashTrie/module-type-S/index.html
Normal file
9
2.3/containers/CCHashTrie/module-type-S/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCHashtbl/.jbuilder-keep
Normal file
0
2.3/containers/CCHashtbl/.jbuilder-keep
Normal file
22
2.3/containers/CCHashtbl/Poly/index.html
Normal file
22
2.3/containers/CCHashtbl/Poly/index.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Poly (containers.CCHashtbl.Poly)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHashtbl.Poly</span></h1></header><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option</code></div><div class="doc"><p>Safe version of <span class="xref-unresolved" title="unresolved reference to "Hashtbl.find"">Hashtbl.find</span>.</p></div></div><div class="spec val" id="val-get_or"><a href="#val-get_or" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_or : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> default:<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">get_or tbl k ~default</code> returns the value associated to <code class="code">k</code> if present,
|
||||
and returns <code class="code">default</code> otherwise (if <code class="code">k</code> doesn't belong in <code class="code">tbl</code>).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-keys"><a href="#val-keys" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>keys : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on keys (similar order as <span class="xref-unresolved" title="unresolved reference to "Hashtbl.iter"">Hashtbl.iter</span>).</p></div></div><div class="spec val" id="val-values"><a href="#val-values" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>values : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on values in the table.</p></div></div><div class="spec val" id="val-keys_list"><a href="#val-keys_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>keys_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p><code class="code">keys_list t</code> is the list of keys in <code class="code">t</code>.
|
||||
If the key is in the Hashtable multiple times, all occurrences will be returned.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-values_list"><a href="#val-values_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>values_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'b</span> list</code></div><div class="doc"><p><code class="code">values_list t</code> is the list of values in <code class="code">t</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-map_list"><a href="#val-map_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map_list : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'c</span> list</code></div><div class="doc"><p>Map on a hashtable's items, collect into a list.</p></div></div><div class="spec val" id="val-incr"><a href="#val-incr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>incr : ?⁠by:int <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">incr ?by tbl x</code> increments or initializes the counter associated with <code class="code">x</code>.
|
||||
If <code class="code">get tbl x = None</code>, then after update, <code class="code">get tbl x = Some 1</code>;
|
||||
otherwise, if <code class="code">get tbl x = Some n</code>, now <code class="code">get tbl x = Some (n+1)</code>.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">by</span>: if specified, the int value is incremented by <code class="code">by</code> rather than 1.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-decr"><a href="#val-decr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>decr : ?⁠by:int <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Like <a href="index.html#val-incr">incr</a> but subtract 1 (or the value of <code class="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-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></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>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on bindings in the table.</p></div></div><div class="spec val" id="val-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span> list) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_list tbl x y</code> adds <code class="code">y</code> to the list <code class="code">x</code> is bound to. If <code class="code">x</code> is
|
||||
not bound, it becomes bound to <code class="code">y</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Add the corresponding pairs to the table, using <span class="xref-unresolved" title="unresolved reference to "Hashtbl.add"">Hashtbl.add</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></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 : (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t</code></div><div class="doc"><p>From the given bindings, added in order.</p></div></div><div class="spec val" id="val-add_seq_count"><a href="#val-add_seq_count" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq_count : (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_seq_count tbl seq</code> increments the count of each element of <code class="code">seq</code>
|
||||
by calling <a href="index.html#val-incr">incr</a>. This is useful for counting how many times each
|
||||
element of <code class="code">seq</code> occurs.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_seq_count"><a href="#val-of_seq_count" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq_count : <span class="type-var">'a</span> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t</code></div><div class="doc"><p>Like <a href="index.html#val-add_seq_count">add_seq_count</a>, but allocates a new table and returns it.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><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>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) list</code></div><div class="doc"><p>List of bindings (order unspecified).</p></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 : (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) list <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t</code></div><div class="doc"><p>Build a table from the given list of bindings <code class="code">k_i -> v_i</code>,
|
||||
added in order using add. 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="spec val" id="val-update"><a href="#val-update" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>update : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> f:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> k:<span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">update tbl ~f ~k</code> updates key <code class="code">k</code> by calling <code class="code">f k (Some v)</code> if
|
||||
<code class="code">k</code> was mapped to <code class="code">v</code>, or <code class="code">f k None</code> otherwise; if the call
|
||||
returns <code class="code">None</code> then <code class="code">k</code> is removed/stays removed, if the call
|
||||
returns <code class="code">Some v'</code> then the binding <code class="code">k -> v'</code> is inserted
|
||||
using <span class="xref-unresolved" title="unresolved reference to "Hashtbl.replace"">Hashtbl.replace</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-get_or_add"><a href="#val-get_or_add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_or_add : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> f:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> k:<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">get_or_add tbl ~k ~f</code> finds and returns the binding of <code class="code">k</code>
|
||||
in <code class="code">tbl</code>, if it exists. If it does not exist, then <code class="code">f k</code>
|
||||
is called to obtain a new binding <code class="code">v</code>; <code class="code">k -> v</code> is added
|
||||
to <code class="code">tbl</code> and <code class="code">v</code> is returned.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <span class="type-var">'a</span> <a href="../index.html#type-printer">printer</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="../index.html#type-printer">printer</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <a href="../index.html#type-printer">printer</a></code></div><div class="doc"><p>Printer for table.
|
||||
Renamed from <code class="code">print</code> since 2.0.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div></body></html>
|
||||
22
2.3/containers/CCHashtbl/index.html
Normal file
22
2.3/containers/CCHashtbl/index.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHashtbl (containers.CCHashtbl)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHashtbl</span></h1></header><h2>Extension to the standard Hashtbl</h2><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.4</li></ul><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-eq"><a href="#type-eq" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a eq</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> bool</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-hash"><a href="#type-hash" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a hash</code><code><span class="keyword"> = </span><span class="type-var">'a</span> <span class="keyword">‑></span> int</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a printer</code><code><span class="keyword"> = </span>Format.formatter <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><h3>Polymorphic tables</h3><p>This sub-module contains the extension of the standard polymorphic Hashtbl.</p><div class="spec module" id="module-Poly"><a href="#module-Poly" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Poly/index.html">Poly</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">module type of </span><a href="index.html#module-Poly">Poly</a></code></span></summary><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option</code></div><div class="doc"><p>Safe version of <span class="xref-unresolved" title="unresolved reference to "Hashtbl.find"">Hashtbl.find</span>.</p></div></div><div class="spec val" id="val-get_or"><a href="#val-get_or" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_or : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> default:<span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">get_or tbl k ~default</code> returns the value associated to <code class="code">k</code> if present,
|
||||
and returns <code class="code">default</code> otherwise (if <code class="code">k</code> doesn't belong in <code class="code">tbl</code>).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-keys"><a href="#val-keys" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>keys : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on keys (similar order as <span class="xref-unresolved" title="unresolved reference to "Hashtbl.iter"">Hashtbl.iter</span>).</p></div></div><div class="spec val" id="val-values"><a href="#val-values" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>values : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on values in the table.</p></div></div><div class="spec val" id="val-keys_list"><a href="#val-keys_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>keys_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> list</code></div><div class="doc"><p><code class="code">keys_list t</code> is the list of keys in <code class="code">t</code>.
|
||||
If the key is in the Hashtable multiple times, all occurrences will be returned.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-values_list"><a href="#val-values_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>values_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'b</span> list</code></div><div class="doc"><p><code class="code">values_list t</code> is the list of values in <code class="code">t</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-map_list"><a href="#val-map_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map_list : (<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> <span class="type-var">'c</span>) <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'c</span> list</code></div><div class="doc"><p>Map on a hashtable's items, collect into a list.</p></div></div><div class="spec val" id="val-incr"><a href="#val-incr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>incr : ?⁠by:int <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">incr ?by tbl x</code> increments or initializes the counter associated with <code class="code">x</code>.
|
||||
If <code class="code">get tbl x = None</code>, then after update, <code class="code">get tbl x = Some 1</code>;
|
||||
otherwise, if <code class="code">get tbl x = Some n</code>, now <code class="code">get tbl x = Some (n+1)</code>.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">by</span>: if specified, the int value is incremented by <code class="code">by</code> rather than 1.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-decr"><a href="#val-decr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>decr : ?⁠by:int <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Like <a href="index.html#val-incr">incr</a> but subtract 1 (or the value of <code class="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-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></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>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on bindings in the table.</p></div></div><div class="spec val" id="val-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : (<span class="type-var">'a</span>, <span class="type-var">'b</span> list) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_list tbl x y</code> adds <code class="code">y</code> to the list <code class="code">x</code> is bound to. If <code class="code">x</code> is
|
||||
not bound, it becomes bound to <code class="code">y</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Add the corresponding pairs to the table, using <span class="xref-unresolved" title="unresolved reference to "Hashtbl.add"">Hashtbl.add</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></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 : (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t</code></div><div class="doc"><p>From the given bindings, added in order.</p></div></div><div class="spec val" id="val-add_seq_count"><a href="#val-add_seq_count" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq_count : (<span class="type-var">'a</span>, int) Hashtbl.t <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">add_seq_count tbl seq</code> increments the count of each element of <code class="code">seq</code>
|
||||
by calling <a href="index.html#val-incr">incr</a>. This is useful for counting how many times each
|
||||
element of <code class="code">seq</code> occurs.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_seq_count"><a href="#val-of_seq_count" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq_count : <span class="type-var">'a</span> <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, int) Hashtbl.t</code></div><div class="doc"><p>Like <a href="index.html#val-add_seq_count">add_seq_count</a>, but allocates a new table and returns it.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><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>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) list</code></div><div class="doc"><p>List of bindings (order unspecified).</p></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 : (<span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'b</span>) list <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t</code></div><div class="doc"><p>Build a table from the given list of bindings <code class="code">k_i -> v_i</code>,
|
||||
added in order using add. 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="spec val" id="val-update"><a href="#val-update" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>update : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> f:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span> option <span class="keyword">‑></span> <span class="type-var">'b</span> option) <span class="keyword">‑></span> k:<span class="type-var">'a</span> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">update tbl ~f ~k</code> updates key <code class="code">k</code> by calling <code class="code">f k (Some v)</code> if
|
||||
<code class="code">k</code> was mapped to <code class="code">v</code>, or <code class="code">f k None</code> otherwise; if the call
|
||||
returns <code class="code">None</code> then <code class="code">k</code> is removed/stays removed, if the call
|
||||
returns <code class="code">Some v'</code> then the binding <code class="code">k -> v'</code> is inserted
|
||||
using <span class="xref-unresolved" title="unresolved reference to "Hashtbl.replace"">Hashtbl.replace</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-get_or_add"><a href="#val-get_or_add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_or_add : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <span class="keyword">‑></span> f:(<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span>) <span class="keyword">‑></span> k:<span class="type-var">'a</span> <span class="keyword">‑></span> <span class="type-var">'b</span></code></div><div class="doc"><p><code class="code">get_or_add tbl ~k ~f</code> finds and returns the binding of <code class="code">k</code>
|
||||
in <code class="code">tbl</code>, if it exists. If it does not exist, then <code class="code">f k</code>
|
||||
is called to obtain a new binding <code class="code">v</code>; <code class="code">k -> v</code> is added
|
||||
to <code class="code">tbl</code> and <code class="code">v</code> is returned.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : <span class="type-var">'a</span> <a href="index.html#type-printer">printer</a> <span class="keyword">‑></span> <span class="type-var">'b</span> <a href="index.html#type-printer">printer</a> <span class="keyword">‑></span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) Hashtbl.t <a href="index.html#type-printer">printer</a></code></div><div class="doc"><p>Printer for table.
|
||||
Renamed from <code class="code">print</code> since 2.0.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div></details></div><h3>Functor</h3><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><div class="def module"><code><span class="keyword">module </span>Make : <span class="keyword">functor</span> (<a href="Make/index.html#argument-1-X">X</a> : Hashtbl.HashedType) -> <a href="index.html#module-type-S">S</a><span class="keyword"> with </span><span class="keyword">type </span><a href="index.html#module-Make">Make</a>.key<span class="keyword"> = </span><a href="Make/index.html#argument-1-X">X</a>.t<span class="keyword"> and </span><span class="keyword">type </span>'a <a href="index.html#module-Make">Make</a>.t<span class="keyword"> = </span><span class="type-var">'a</span> Hashtbl.Make(<a href="Make/index.html#argument-1-X">X</a>).t</code></div><div class="doc"></div></div></body></html>
|
||||
22
2.3/containers/CCHashtbl/module-type-S/index.html
Normal file
22
2.3/containers/CCHashtbl/module-type-S/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCHeap/.jbuilder-keep
Normal file
0
2.3/containers/CCHeap/.jbuilder-keep
Normal file
2
2.3/containers/CCHeap/Make/argument-1-E/index.html
Normal file
2
2.3/containers/CCHeap/Make/argument-1-E/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-E (containers.CCHeap.Make.1-E)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCHeap.Make.1-E</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-leq"><a href="#val-leq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>leq : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">leq x y</code> shall return <code class="code">true</code> iff <code class="code">x</code> is lower or equal to <code class="code">y</code>.</p></div></div></body></html>
|
||||
14
2.3/containers/CCHeap/Make/index.html
Normal file
14
2.3/containers/CCHeap/Make/index.html
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-E (containers.CCHeap.Make_from_compare.1-E)</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> — <span class="package">package <a href="../../../index.html">containers</a></span></nav><header><h1><span class="keyword">Parameter</span> <span class="module-path">CCHeap.Make_from_compare.1-E</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">compare a b</code> shall return
|
||||
a negative value if <code class="code">a</code> is smaller than <code class="code">b</code>,
|
||||
<code class="code">0</code> if <code class="code">a</code> and <code class="code">b</code> are equal or
|
||||
a positive value if <code class="code">a</code> is greater than <code class="code">b</code></p></div></div></body></html>
|
||||
17
2.3/containers/CCHeap/Make_from_compare/index.html
Normal file
17
2.3/containers/CCHeap/Make_from_compare/index.html
Normal file
File diff suppressed because one or more lines are too long
5
2.3/containers/CCHeap/index.html
Normal file
5
2.3/containers/CCHeap/index.html
Normal file
File diff suppressed because one or more lines are too long
2
2.3/containers/CCHeap/module-type-PARTIAL_ORD/index.html
Normal file
2
2.3/containers/CCHeap/module-type-PARTIAL_ORD/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>PARTIAL_ORD (containers.CCHeap.PARTIAL_ORD)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCHeap.PARTIAL_ORD</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-leq"><a href="#val-leq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>leq : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">leq x y</code> shall return <code class="code">true</code> iff <code class="code">x</code> is lower or equal to <code class="code">y</code>.</p></div></div></body></html>
|
||||
14
2.3/containers/CCHeap/module-type-S/index.html
Normal file
14
2.3/containers/CCHeap/module-type-S/index.html
Normal file
File diff suppressed because one or more lines are too long
5
2.3/containers/CCHeap/module-type-TOTAL_ORD/index.html
Normal file
5
2.3/containers/CCHeap/module-type-TOTAL_ORD/index.html
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>TOTAL_ORD (containers.CCHeap.TOTAL_ORD)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module type</span> <span class="module-path">CCHeap.TOTAL_ORD</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">compare a b</code> shall return
|
||||
a negative value if <code class="code">a</code> is smaller than <code class="code">b</code>,
|
||||
<code class="code">0</code> if <code class="code">a</code> and <code class="code">b</code> are equal or
|
||||
a positive value if <code class="code">a</code> is greater than <code class="code">b</code></p></div></div></body></html>
|
||||
0
2.3/containers/CCHet/.jbuilder-keep
Normal file
0
2.3/containers/CCHet/.jbuilder-keep
Normal file
2
2.3/containers/CCHet/Key/index.html
Normal file
2
2.3/containers/CCHet/Key/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Key (containers.CCHet.Key)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHet.Key</span></h1></header><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-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : unit <span class="keyword">‑></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-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Compare two keys that have compatible types.</p></div></div></body></html>
|
||||
2
2.3/containers/CCHet/Map/index.html
Normal file
2
2.3/containers/CCHet/Map/index.html
Normal file
File diff suppressed because one or more lines are too long
2
2.3/containers/CCHet/Tbl/index.html
Normal file
2
2.3/containers/CCHet/Tbl/index.html
Normal file
File diff suppressed because one or more lines are too long
3
2.3/containers/CCHet/index.html
Normal file
3
2.3/containers/CCHet/index.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHet (containers.CCHet)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHet</span></h1></header><h2>Associative containers with Heterogeneous Values</h2><p>This is similar to <a href="../CCMixtbl/index.html">CCMixtbl</a>, but the injection is directly used as
|
||||
a key.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec module" id="module-Key"><a href="#module-Key" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Key/index.html">Key</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec type" id="type-pair"><a href="#type-pair" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>pair</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-pair.Pair" class="anchored"><td class="def constructor"><a href="#type-pair.Pair" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Pair</span><span class="keyword"> : </span><span class="type-var">'a</span> <a href="Key/index.html#type-t">Key.t</a><span class="keyword"> * </span><span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-pair">pair</a></code></td></tr></table><code></code></div><div class="doc"></div></div><div class="spec module" id="module-Tbl"><a href="#module-Tbl" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Tbl/index.html">Tbl</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Imperative table indexed by <code class="code">Key</code></h3></div></div><div class="spec module" id="module-Map"><a href="#module-Map" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Map/index.html">Map</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"><h3>Immutable map</h3></div></div></body></html>
|
||||
0
2.3/containers/CCIO/.jbuilder-keep
Normal file
0
2.3/containers/CCIO/.jbuilder-keep
Normal file
14
2.3/containers/CCIO/File/index.html
Normal file
14
2.3/containers/CCIO/File/index.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>File (containers.CCIO.File)</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> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCIO.File</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span>string</code><code></code></div><div class="doc"><p>A file should be represented by its absolute path, but currently
|
||||
this is not enforced.</p></div></div><div class="spec val" id="val-to_string"><a href="#val-to_string" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_string : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-make"><a href="#val-make" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>make : string <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Build a file representation from a path (absolute or relative).</p></div></div><div class="spec val" id="val-exists"><a href="#val-exists" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_directory"><a href="#val-is_directory" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_directory : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-remove_exn"><a href="#val-remove_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">remove_exn path</code> tries to remove the file at <code class="code">path</code> from the
|
||||
file system.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: if there is no file at <code class="code">path</code> or access rights are wrong.</li><li><span class="at-tag since">Since</span>: 0.8</li></ul></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-t">t</a> <span class="keyword">‑></span> unit <a href="../index.html#type-or_error">or_error</a></code></div><div class="doc"><p>Like <code class="code">remove_exn</code> but with an error monad.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-remove_noerr"><a href="#val-remove_noerr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>remove_noerr : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Like <code class="code">remove_exn</code> but do not raise any exception on failure.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.8</li></ul></div></div><div class="spec val" id="val-read_dir"><a href="#val-read_dir" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_dir : ?⁠recurse:bool <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <a href="../index.html#type-gen">gen</a></code></div><div class="doc"><p><code class="code">read_dir d</code> returns a sequence of files and directory contained
|
||||
in the directory <code class="code">d</code> (or an empty stream if <code class="code">d</code> is not a directory).</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error (e.g. permission denied).</li><li><span class="at-tag parameter">Parameter</span> <span class="module-path">recurse</span>: if true (default <code class="code">false</code>), sub-directories are also
|
||||
explored.</li></ul></div></div><div class="spec val" id="val-read_exn"><a href="#val-read_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>Read the content of the given file, or raises some exception.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-read"><a href="#val-read" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string <a href="../index.html#type-or_error">or_error</a></code></div><div class="doc"><p>Read the content of the given file.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-append_exn"><a href="#val-append_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Append the given string into the given file, possibly raising.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-append"><a href="#val-append" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>append : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string <span class="keyword">‑></span> unit <a href="../index.html#type-or_error">or_error</a></code></div><div class="doc"><p>Append the given string into the given file.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-write_exn"><a href="#val-write_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Write the given string into the given file, possibly raising.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-write"><a href="#val-write" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> string <span class="keyword">‑></span> unit <a href="../index.html#type-or_error">or_error</a></code></div><div class="doc"><p>Write the given string into the given file.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec type" id="type-walk_item"><a href="#type-walk_item" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>walk_item</code><code><span class="keyword"> = </span>[ `File | `Dir ]<span class="keyword"> * </span><a href="index.html#type-t">t</a></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-walk"><a href="#val-walk" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>walk : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-walk_item">walk_item</a> <a href="../index.html#type-gen">gen</a></code></div><div class="doc"><p>Like <a href="index.html#val-read_dir">read_dir</a> (with <code class="code">recurse=true</code>), this function walks
|
||||
a directory recursively and yields either files or directories.
|
||||
Is a file anything that doesn't satisfy <a href="index.html#val-is_directory">is_directory</a> (including
|
||||
symlinks, etc.)</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error (e.g. permission denied) during iteration.</li></ul></div></div><div class="spec val" id="val-walk_l"><a href="#val-walk_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>walk_l : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-walk_item">walk_item</a> list</code></div><div class="doc"><p>Like <a href="index.html#val-walk">walk</a> but returns a list (therefore it's eager and might
|
||||
take some time on large directories).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.1</li></ul></div></div><div class="spec val" id="val-show_walk_item"><a href="#val-show_walk_item" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>show_walk_item : <a href="index.html#type-walk_item">walk_item</a> <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-with_temp"><a href="#val-with_temp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_temp : ?⁠temp_dir:string <span class="keyword">‑></span> prefix:string <span class="keyword">‑></span> suffix:string <span class="keyword">‑></span> (string <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p><code class="code">with_temp ~prefix ~suffix f</code> will call <code class="code">f</code> with the name of a new
|
||||
temporary file (located in <code class="code">temp_dir</code>).
|
||||
After <code class="code">f</code> returns, the file is deleted. Best to be used in
|
||||
combination with <a href="../index.html#val-with_out">with_out</a>.
|
||||
See <span class="xref-unresolved" title="unresolved reference to "Filename.temp_file"">Filename.temp_file</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div></body></html>
|
||||
23
2.3/containers/CCIO/index.html
Normal file
23
2.3/containers/CCIO/index.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCIO (containers.CCIO)</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> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCIO</span></h1></header><h2>IO Utils</h2><p>Simple utilities to deal with basic Input/Output tasks in a resource-safe
|
||||
way. For advanced IO tasks, the user is advised to use something
|
||||
like Lwt or Async, that are far more comprehensive.</p><p>Examples:</p><ul><li>obtain the list of lines of a file:</li></ul><pre><code class="code"> # let l = CCIO.(with_in "/tmp/some_file" read_lines);;</code></pre><ul><li>transfer one file into another:</li></ul><pre><code class="code"> # CCIO.(
|
||||
with_in "/tmp/input"
|
||||
(fun ic ->
|
||||
let chunks = read_chunks ic in
|
||||
with_out ~flags:[Open_binary] ~mode:0o644 "/tmp/output"
|
||||
(fun oc ->
|
||||
write_gen oc chunks
|
||||
)
|
||||
)
|
||||
) ;;</code></pre><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.6</li><li><span class="at-tag before">Before</span> 0.12.was in 'containers.io', now moved into 'containers'</li></ul><div class="spec type" id="type-or_error"><a href="#type-or_error" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a or_error</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span>, string) Result.result</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"><p>See Gen in the gen library.</p></div></div><h3>Input</h3><div class="spec val" id="val-with_in"><a href="#val-with_in" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_in : ?⁠mode:int <span class="keyword">‑></span> ?⁠flags:Pervasives.open_flag list <span class="keyword">‑></span> string <span class="keyword">‑></span> (Pervasives.in_channel <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Open an input file with the given optional flag list, calls the function
|
||||
on the input channel. When the function raises or returns, the
|
||||
channel is closed.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error (same as open_in and close_in).</li><li><span class="at-tag parameter">Parameter</span> <span class="module-path">flags</span>: opening flags (default <code class="code">[Open_text]</code>). <code class="code">Open_rdonly</code> is used in any cases.</li></ul></div></div><div class="spec val" id="val-read_chunks"><a href="#val-read_chunks" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_chunks : ?⁠size:int <span class="keyword">‑></span> Pervasives.in_channel <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p>Read the channel's content into chunks of size <code class="code">size</code>.</p></div></div><div class="spec val" id="val-read_line"><a href="#val-read_line" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_line : Pervasives.in_channel <span class="keyword">‑></span> string option</code></div><div class="doc"><p>Read a line from the channel. Returns <code class="code">None</code> if the input is terminated.
|
||||
The "\n" is removed from the line.</p></div></div><div class="spec val" id="val-read_lines"><a href="#val-read_lines" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_lines : Pervasives.in_channel <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p>Read all lines. The generator should be traversed only once.</p></div></div><div class="spec val" id="val-read_lines_l"><a href="#val-read_lines_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_lines_l : Pervasives.in_channel <span class="keyword">‑></span> string list</code></div><div class="doc"><p>Read all lines into a list.</p></div></div><div class="spec val" id="val-read_all"><a href="#val-read_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_all : ?⁠size:int <span class="keyword">‑></span> Pervasives.in_channel <span class="keyword">‑></span> string</code></div><div class="doc"><p>Read the whole channel into a buffer, then converted into a string.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">size</span>: the internal buffer size.</li><li><span class="at-tag since">Since</span>: 0.7</li></ul></div></div><div class="spec val" id="val-read_all_bytes"><a href="#val-read_all_bytes" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>read_all_bytes : ?⁠size:int <span class="keyword">‑></span> Pervasives.in_channel <span class="keyword">‑></span> Bytes.t</code></div><div class="doc"><p>Read the whole channel into a mutable byte array.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">size</span>: the internal buffer size.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><h3>Output</h3><div class="spec val" id="val-with_out"><a href="#val-with_out" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_out : ?⁠mode:int <span class="keyword">‑></span> ?⁠flags:Pervasives.open_flag list <span class="keyword">‑></span> string <span class="keyword">‑></span> (Pervasives.out_channel <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Like <a href="index.html#val-with_in">with_in</a> but for an output channel.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">flags</span>: opening flags (default <code class="code">[Open_creat; Open_trunc; Open_text]</code>).</li><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error (same as open_out and close_out).
|
||||
<code class="code">Open_wronly</code> is used in any cases.</li></ul></div></div><div class="spec val" id="val-with_out_a"><a href="#val-with_out_a" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_out_a : ?⁠mode:int <span class="keyword">‑></span> ?⁠flags:Pervasives.open_flag list <span class="keyword">‑></span> string <span class="keyword">‑></span> (Pervasives.out_channel <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Like <a href="index.html#val-with_out">with_out</a> but with the <code class="code">[Open_append; Open_creat; Open_wronly]</code>
|
||||
flags activated, to append to the file.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error (same as open_out and close_out).</li></ul></div></div><div class="spec val" id="val-write_line"><a href="#val-write_line" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write_line : Pervasives.out_channel <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Write the given string on the channel, followed by "\n".</p></div></div><div class="spec val" id="val-write_gen"><a href="#val-write_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write_gen : ?⁠sep:string <span class="keyword">‑></span> Pervasives.out_channel <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Write the given strings on the output. If provided, add <code class="code">sep</code> between
|
||||
every two strings (but not at the end).</p></div></div><div class="spec val" id="val-write_lines"><a href="#val-write_lines" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write_lines : Pervasives.out_channel <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Write every string on the output, followed by "\n".</p></div></div><div class="spec val" id="val-write_lines_l"><a href="#val-write_lines_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>write_lines_l : Pervasives.out_channel <span class="keyword">‑></span> string list <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div><h3>Both</h3><div class="spec val" id="val-with_in_out"><a href="#val-with_in_out" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>with_in_out : ?⁠mode:int <span class="keyword">‑></span> ?⁠flags:Pervasives.open_flag list <span class="keyword">‑></span> string <span class="keyword">‑></span> (Pervasives.in_channel <span class="keyword">‑></span> Pervasives.out_channel <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Combines <a href="index.html#val-with_in">with_in</a> and <a href="index.html#val-with_out">with_out</a>.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">flags</span>: opening flags (default <code class="code">[Open_creat]</code>).</li><li><span class="at-tag raise">Raises</span> <span class="module-path">Sys_error</span>: in case of error.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><h3>Misc for Generators</h3><div class="spec val" id="val-tee"><a href="#val-tee" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>tee : (<span class="type-var">'a</span> <span class="keyword">‑></span> unit) list <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> <span class="type-var">'a</span> <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p><code class="code">tee funs gen</code> behaves like <code class="code">gen</code>, but each element is given to
|
||||
every function <code class="code">f</code> in <code class="code">funs</code> at the time the element is produced.</p></div></div><h3>File and file names</h3><p>How to list recursively files in a directory:
|
||||
</p><pre><code class="code"> # let files = CCIO.File.read_dir ~recurse:true (CCIO.File.make "/tmp");;
|
||||
# CCIO.write_lines stdout files;;</code></pre><p>See <a href="File/index.html#val-walk">File.walk</a> if you also need to list directories:</p><pre><code class="code"> # let content = CCIO.File.walk (CCIO.File.make "/tmp");;
|
||||
# Gen.map CCIO.File.show_walk_item content |> CCIO.write_lines stdout;;</code></pre><div class="spec module" id="module-File"><a href="#module-File" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="File/index.html">File</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div></body></html>
|
||||
0
2.3/containers/CCImmutArray/.jbuilder-keep
Normal file
0
2.3/containers/CCImmutArray/.jbuilder-keep
Normal file
8
2.3/containers/CCImmutArray/index.html
Normal file
8
2.3/containers/CCImmutArray/index.html
Normal file
File diff suppressed because one or more lines are too long
0
2.3/containers/CCInt/.jbuilder-keep
Normal file
0
2.3/containers/CCInt/.jbuilder-keep
Normal file
2
2.3/containers/CCInt/Infix/index.html
Normal file
2
2.3/containers/CCInt/Infix/index.html
Normal file
File diff suppressed because one or more lines are too long
10
2.3/containers/CCInt/index.html
Normal file
10
2.3/containers/CCInt/index.html
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue