add docs for 3.0

This commit is contained in:
Simon Cruanes 2020-07-28 18:27:01 -04:00
parent 856a713280
commit 3d93f1fa60
361 changed files with 1497 additions and 1 deletions

View file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-L (containers-data.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCBijection</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-L</nav><h1>Parameter <code>Make.1-L</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>2-R (containers-data.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCBijection</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 2-R</nav><h1>Parameter <code>Make.2-R</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBijection (containers-data.CCBijection)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCBijection</nav><h1>Module <code>CCBijection</code></h1><h2 id="bijection"><a href="#bijection" class="anchor"></a>Bijection</h2><p>Represents 1-to-1 mappings between two types. Each element from the &quot;left&quot; is mapped to one &quot;right&quot; value, and conversely.</p><dl><dt>since</dt><dd>2.1</dd></dl></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt></dl><div class="spec module-type" id="module-type-OrderedType"><a href="#module-type-OrderedType" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><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>&#45;&gt;</span> <span class="keyword">functor</span> (<a href="Make/argument-2-R/index.html">R</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) <span>&#45;&gt;</span> <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> = <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> = <a href="Make/argument-2-R/index.html#type-t">R.t</a></code></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>OrderedType (containers-data.CCBijection.OrderedType)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBijection</a> &#x00BB; OrderedType</nav><h1>Module type <code>CCBijection.OrderedType</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-_ (containers-data.CCBitField.Make.1-_)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCBitField</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-_</nav><h1>Parameter <code>Make.1-_</code></h1></header></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers-data.CCBitField.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBitField</a> &#x00BB; Make</nav><h1>Module <code>CCBitField.Make</code></h1><p>Create a new bitfield type</p></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-_/index.html">_</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></li></ul><h3 class="heading">Signature</h3><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <span class="keyword">private</span> int</code></dt><dd><p>Generative type of bitfields. Each instantiation of the functor should create a new, incompatible type</p></dd></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dd><p>Empty bitfields (all bits 0).</p></dd></dl><dl><dt class="spec type" id="type-field"><a href="#type-field" class="anchor"></a><code><span class="keyword">type</span> field</code></dt></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <a href="index.html#type-field">field</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Get the value of this field.</p></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : <a href="index.html#type-field">field</a> <span>&#45;&gt;</span> bool <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Set the value of this field.</p></dd></dl><dl><dt class="spec value" id="val-mk_field"><a href="#val-mk_field" class="anchor"></a><code><span class="keyword">val</span> mk_field : unit <span>&#45;&gt;</span> <a href="index.html#type-field">field</a></code></dt><dd><p>Make a new field.</p></dd></dl><dl><dt class="spec value" id="val-freeze"><a href="#val-freeze" class="anchor"></a><code><span class="keyword">val</span> freeze : unit <span>&#45;&gt;</span> unit</code></dt><dd><p>Prevent new fields from being added. From now on, creating a field will raise Frozen.</p></dd></dl><dl><dt class="spec value" id="val-total_width"><a href="#val-total_width" class="anchor"></a><code><span class="keyword">val</span> total_width : unit <span>&#45;&gt;</span> int</code></dt><dd><p>Current width of the bitfield.</p></dd></dl></div></body></html>

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCBitField (containers-data.CCBitField)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCBitField</nav><h1>Module <code>CCBitField</code></h1><h2 id="bit-field"><a href="#bit-field" class="anchor"></a>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="ml">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 |&gt; B.set x true |&gt; B.set y true;;
assert (not (B.get z f)) ;;
assert (f |&gt; B.set z true |&gt; B.get z);;</code></pre></header><dl><dt class="spec exception" id="exception-TooManyFields"><a href="#exception-TooManyFields" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">TooManyFields</span></code></dt><dd><p>Raised when too many fields are packed into one bitfield.</p></dd></dl><dl><dt class="spec exception" id="exception-Frozen"><a href="#exception-Frozen" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">Frozen</span></code></dt><dd><p>Raised when a frozen bitfield is modified.</p></dd></dl><dl><dt class="spec value" id="val-max_width"><a href="#val-max_width" class="anchor"></a><code><span class="keyword">val</span> max_width : int</code></dt><dd><p>System-dependent maximum width for a bitfield, typically 30 or 62.</p></dd></dl><dl><dt class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span class="keyword">module</span> <a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-_/index.html">_</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span>) <span>&#45;&gt;</span> <a href="index.html#module-type-S">S</a></code></dt><dd><p>Create a new bitfield type</p></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>S (containers-data.CCBitField.S)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBitField</a> &#x00BB; S</nav><h1>Module type <code>CCBitField.S</code></h1><h3 id="bitfield-signature"><a href="#bitfield-signature" class="anchor"></a>Bitfield Signature</h3></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <span class="keyword">private</span> int</code></dt><dd><p>Generative type of bitfields. Each instantiation of the functor should create a new, incompatible type</p></dd></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dd><p>Empty bitfields (all bits 0).</p></dd></dl><dl><dt class="spec type" id="type-field"><a href="#type-field" class="anchor"></a><code><span class="keyword">type</span> field</code></dt></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <a href="index.html#type-field">field</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Get the value of this field.</p></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : <a href="index.html#type-field">field</a> <span>&#45;&gt;</span> bool <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Set the value of this field.</p></dd></dl><dl><dt class="spec value" id="val-mk_field"><a href="#val-mk_field" class="anchor"></a><code><span class="keyword">val</span> mk_field : unit <span>&#45;&gt;</span> <a href="index.html#type-field">field</a></code></dt><dd><p>Make a new field.</p></dd></dl><dl><dt class="spec value" id="val-freeze"><a href="#val-freeze" class="anchor"></a><code><span class="keyword">val</span> freeze : unit <span>&#45;&gt;</span> unit</code></dt><dd><p>Prevent new fields from being added. From now on, creating a field will raise Frozen.</p></dd></dl><dl><dt class="spec value" id="val-total_width"><a href="#val-total_width" class="anchor"></a><code><span class="keyword">val</span> total_width : unit <span>&#45;&gt;</span> int</code></dt><dd><p>Current width of the bitfield.</p></dd></dl></div></body></html>

View file

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCCache (containers-data.CCCache)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCCache</nav><h1>Module <code>CCCache</code></h1><h2 id="caches"><a href="#caches" class="anchor"></a>Caches</h2><p>Particularly useful for memoization. See <a href="index.html#val-with_cache"><code>with_cache</code></a> and <a href="index.html#val-with_cache_rec"><code>with_cache_rec</code></a> for more details.</p><dl><dt>since</dt><dd>0.6</dd></dl><nav class="toc"><ul><li><a href="#value-interface">Value interface</a></li></ul></nav></header><dl><dt class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><code><span class="keyword">type</span> 'a equal</code><code> = <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> bool</code></dt><dt class="spec type" id="type-hash"><a href="#type-hash" class="anchor"></a><code><span class="keyword">type</span> 'a hash</code><code> = <span class="type-var">'a</span> <span>&#45;&gt;</span> int</code></dt></dl><section><header><h3 id="value-interface"><a href="#value-interface" class="anchor"></a>Value interface</h3><p>Typical use case: one wants to memoize a function <code>f : 'a -&gt; 'b</code>. Code sample:</p><pre><code class="ml">let f x =
print_endline &quot;call f&quot;;
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><dl><dt>since</dt><dd>0.6</dd></dl></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> ('a, 'b) t</code></dt></dl><dl><dt class="spec value" id="val-clear"><a href="#val-clear" class="anchor"></a><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>&#45;&gt;</span> unit</code></dt><dd><p>Clear the content of the cache.</p></dd></dl><dl><dt class="spec type" id="type-callback"><a href="#type-callback" class="anchor"></a><code><span class="keyword">type</span> ('a, 'b) callback</code><code> = in_cache:bool <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> unit</code></dt><dd><p>Type of the callback that is called once a cached value is found or not. Should never raise.</p><dl><dt>parameter in_cache</dt><dd><p>is <code>true</code> if the value was in cache, <code>false</code> if the value was just produced.</p></dd></dl><dl><dt>since</dt><dd>1.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-with_cache"><a href="#val-with_cache" class="anchor"></a><code><span class="keyword">val</span> with_cache : ?&#8288;cb:(<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-callback">callback</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt><dd><p><code>with_cache c f</code> behaves like <code>f</code>, but caches calls to <code>f</code> in the cache <code>c</code>. It always returns the same value as <code>f x</code>, if <code>f x</code> returns, or raise the same exception. However, <code>f</code> may not be called if <code>x</code> is in the cache.</p><dl><dt>parameter cb</dt><dd><p>called after the value is generated or retrieved.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-with_cache_rec"><a href="#val-with_cache_rec" class="anchor"></a><code><span class="keyword">val</span> with_cache_rec : ?&#8288;cb:(<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-callback">callback</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> ((<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt><dd><p><code>with_cache_rec c f</code> is a function that first, applies <code>f</code> to some <code>f' = fix f</code>, such that recursive calls to <code>f'</code> are cached in <code>c</code>. It is similar to <a href="index.html#val-with_cache"><code>with_cache</code></a> but with a function that takes as first argument its own recursive version. Example (memoized Fibonacci function):</p><pre><code class="ml">let fib = with_cache_rec (lru 256)
(fun fib' n -&gt; match n with
| 1 | 2 -&gt; 1
| _ -&gt; fib' (n-1) + fib' (n-2)
);;
fib 70;;</code></pre><dl><dt>parameter cb</dt><dd><p>called after the value is generated or retrieved.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-size"><a href="#val-size" class="anchor"></a><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>&#45;&gt;</span> int</code></dt><dd><p>Size of the cache (number of entries). At most linear in the number of entries.</p></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt><dd><p>Iterate on cached values. Should yield <code>size cache</code> pairs.</p></dd></dl><dl><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><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>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> bool</code></dt><dd><p>Manually add a cached value. Return <code>true</code> if the value has successfully been added, and <code>false</code> if the value was already bound.</p><dl><dt>since</dt><dd>1.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-dummy"><a href="#val-dummy" class="anchor"></a><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></dt><dd><p>Dummy cache, never stores any value.</p></dd></dl><dl><dt class="spec value" id="val-linear"><a href="#val-linear" class="anchor"></a><code><span class="keyword">val</span> linear : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></dt><dd><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><dl><dt>parameter eq</dt><dd><p>optional equality predicate for keys.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-replacing"><a href="#val-replacing" class="anchor"></a><code><span class="keyword">val</span> replacing : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span>&#45;&gt;</span> ?&#8288;hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></dt><dd><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></dd></dl><dl><dt class="spec value" id="val-lru"><a href="#val-lru" class="anchor"></a><code><span class="keyword">val</span> lru : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span>&#45;&gt;</span> ?&#8288;hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></dt><dd><p>LRU cache of the given size (&quot;Least Recently Used&quot;: keys that have not been used recently are deleted first). Never grows wider than the given size.</p></dd></dl><dl><dt class="spec value" id="val-unbounded"><a href="#val-unbounded" class="anchor"></a><code><span class="keyword">val</span> unbounded : eq:<span class="type-var">'a</span> <a href="index.html#type-equal">equal</a> <span>&#45;&gt;</span> ?&#8288;hash:<span class="type-var">'a</span> <a href="index.html#type-hash">hash</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'b</span>) <a href="index.html#type-t">t</a></code></dt><dd><p>Unbounded cache, backed by a Hash table. Will grow forever unless <a href="index.html#val-clear"><code>clear</code></a> is called manually.</p></dd></dl></section></div></body></html>

View file

File diff suppressed because one or more lines are too long

View file

File diff suppressed because one or more lines are too long

View file

File diff suppressed because one or more lines are too long

View file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Iter (containers-data.CCGraph.Iter)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCGraph</a> &#x00BB; Iter</nav><h1>Module <code>CCGraph.Iter</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> 'a t</code><code> = <span class="type-var">'a</span> <a href="../index.html#type-iter">iter</a></code></dt></dl><dl><dt class="spec value" id="val-return"><a href="#val-return" class="anchor"></a><code><span class="keyword">val</span> return : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-(&gt;&gt;=)"><a href="#val-(&gt;&gt;=)" class="anchor"></a><code><span class="keyword">val</span> (&gt;&gt;=) : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-map"><a href="#val-map" class="anchor"></a><code><span class="keyword">val</span> map : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><code><span class="keyword">val</span> filter_map : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> option) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span class="keyword">val</span> fold : (<span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'b</span></code></dt><dt class="spec value" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span class="keyword">val</span> to_list : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> list</code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Lazy_tree (containers-data.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"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCGraph</a> &#x00BB; Lazy_tree</nav><h1>Module <code>CCGraph.Lazy_tree</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> ('v, 'e) t</code><code> = </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="type-var">'v</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a>) list Stdlib.Lazy.t;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-map_v"><a href="#val-map_v" class="anchor"></a><code><span class="keyword">val</span> map_v : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> (<span class="type-var">'a</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'b</span>, <span class="type-var">'e</span>) <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-fold_v"><a href="#val-fold_v" class="anchor"></a><code><span class="keyword">val</span> fold_v : (<span class="type-var">'acc</span> <span>&#45;&gt;</span> <span class="type-var">'v</span> <span>&#45;&gt;</span> <span class="type-var">'acc</span>) <span>&#45;&gt;</span> <span class="type-var">'acc</span> <span>&#45;&gt;</span> (<span class="type-var">'v</span>, <span class="type-var">_</span>) <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'acc</span></code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-E (containers-data.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCHashSet</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-E</nav><h1>Parameter <code>Make.1-E</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p>Positive value</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHashSet (containers-data.CCHashSet)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHashSet</nav><h1>Module <code>CCHashSet</code></h1><h2 id="mutable-set"><a href="#mutable-set" class="anchor"></a>Mutable Set</h2><p><b>status: unstable</b></p><dl><dt>since</dt><dd>0.13</dd></dl></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span class="keyword">type</span> 'a printer</code><code> = Stdlib.Format.formatter <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit</code></dt></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module-type" id="module-type-ELEMENT"><a href="#module-type-ELEMENT" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><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>) <span>&#45;&gt;</span> <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> = <a href="Make/argument-1-E/index.html#type-t">E.t</a></code></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ELEMENT (containers-data.CCHashSet.ELEMENT)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashSet</a> &#x00BB; ELEMENT</nav><h1>Module type <code>CCHashSet.ELEMENT</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p>Positive value</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-K (containers-data.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCHashTrie</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-K</nav><h1>Parameter <code>Make.1-K</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Transient (containers-data.CCHashTrie.Transient)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashTrie</a> &#x00BB; Transient</nav><h1>Module <code>CCHashTrie.Transient</code></h1><h3 id="transient-identifiers"><a href="#transient-identifiers" class="anchor"></a>Transient Identifiers</h3></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>Identifiers for transient modifications. A transient modification is uniquely identified by a <code>Transient.t</code>. Once <code>Transient.freeze r</code> is called, <code>r</code> cannot be used to modify the structure again.</p></dd></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Create a new, active ID.</p></dd></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Equality between IDs.</p></dd></dl><dl><dt class="spec value" id="val-frozen"><a href="#val-frozen" class="anchor"></a><code><span class="keyword">val</span> frozen : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p><code>frozen i</code> returns <code>true</code> if <code>freeze i</code> was called before. In this case, the ID cannot be used for modifications again.</p></dd></dl><dl><dt class="spec value" id="val-active"><a href="#val-active" class="anchor"></a><code><span class="keyword">val</span> active : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p><code>active i</code> is <code>not (frozen i)</code>.</p></dd></dl><dl><dt class="spec value" id="val-freeze"><a href="#val-freeze" class="anchor"></a><code><span class="keyword">val</span> freeze : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p><code>freeze i</code> makes <code>i</code> unusable for new modifications. The values created with <code>i</code> will now be immutable.</p></dd></dl><dl><dt class="spec value" id="val-with_"><a href="#val-with_" class="anchor"></a><code><span class="keyword">val</span> with_ : (<a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span>) <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dd><p><code>with_ f</code> creates a transient ID <code>i</code>, calls <code>f i</code>, freezes the ID <code>i</code> and returns the result of <code>f i</code>.</p></dd></dl><dl><dt class="spec exception" id="exception-Frozen"><a href="#exception-Frozen" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">Frozen</span></code></dt><dd><p>Raised when a frozen ID is used.</p></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHashTrie (containers-data.CCHashTrie)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHashTrie</nav><h1>Module <code>CCHashTrie</code></h1><h2 id="hash-tries"><a href="#hash-tries" class="anchor"></a>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 &quot;tbl&quot; section of benchmarks) tend to show that this type is quite efficient for small data sets.</p><p><b>status: unstable</b></p><dl><dt>since</dt><dd>0.13</dd></dl></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><code><span class="keyword">type</span> 'a gen</code><code> = unit <span>&#45;&gt;</span> <span class="type-var">'a</span> option</code></dt><dt class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span class="keyword">type</span> 'a printer</code><code> = Stdlib.Format.formatter <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-ktree"><a href="#type-ktree" class="anchor"></a><code><span class="keyword">type</span> 'a ktree</code><code> = unit <span>&#45;&gt;</span> [ `Nil | `Node of <span class="type-var">'a</span> * <span class="type-var">'a</span> <a href="index.html#type-ktree">ktree</a> list ]</code></dt></dl><dl><dt class="spec module" id="module-Transient"><a href="#module-Transient" class="anchor"></a><code><span class="keyword">module</span> <a href="Transient/index.html">Transient</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module-type" id="module-type-KEY"><a href="#module-type-KEY" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-KEY/index.html">KEY</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><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>) <span>&#45;&gt;</span> <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> = <a href="Make/argument-1-K/index.html#type-t">K.t</a></code></dt><dd></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>KEY (containers-data.CCHashTrie.KEY)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashTrie</a> &#x00BB; KEY</nav><h1>Module type <code>CCHashTrie.KEY</code></h1><h3 id="type-for-keys"><a href="#type-for-keys" class="anchor"></a>Type for keys</h3></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Key (containers-data.CCHet.Key)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHet</a> &#x00BB; Key</nav><h1>Module <code>CCHet.Key</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> 'a t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : unit <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Compare two keys that have compatible types.</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Tbl (containers-data.CCHet.Tbl)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHet</a> &#x00BB; Tbl</nav><h1>Module <code>CCHet.Tbl</code></h1><h3 id="imperative-table-indexed-by-key"><a href="#imperative-table-indexed-by-key" class="anchor"></a>Imperative table indexed by <code>Key</code></h3></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : ?&#8288;size:int <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val</span> mem : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">_</span> <a href="../Key/index.html#type-t">Key.t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-add"><a href="#val-add" class="anchor"></a><code><span class="keyword">val</span> add : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../Key/index.html#type-t">Key.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val</span> remove : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">_</span> <a href="../Key/index.html#type-t">Key.t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-length"><a href="#val-length" class="anchor"></a><code><span class="keyword">val</span> length : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dt class="spec value" id="val-find"><a href="#val-find" class="anchor"></a><code><span class="keyword">val</span> find : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../Key/index.html#type-t">Key.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> option</code></dt><dt class="spec value" id="val-find_exn"><a href="#val-find_exn" class="anchor"></a><code><span class="keyword">val</span> find_exn : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../Key/index.html#type-t">Key.t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dd><dl><dt>raises Not_found</dt><dd><p>if the key is not in the table.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : (<a href="../index.html#type-pair">pair</a> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-to_iter"><a href="#val-to_iter" class="anchor"></a><code><span class="keyword">val</span> to_iter : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-pair">pair</a> <a href="../index.html#type-iter">iter</a></code></dt><dt class="spec value" id="val-of_iter"><a href="#val-of_iter" class="anchor"></a><code><span class="keyword">val</span> of_iter : <a href="../index.html#type-pair">pair</a> <a href="../index.html#type-iter">iter</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-add_iter"><a href="#val-add_iter" class="anchor"></a><code><span class="keyword">val</span> add_iter : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-pair">pair</a> <a href="../index.html#type-iter">iter</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-add_list"><a href="#val-add_list" class="anchor"></a><code><span class="keyword">val</span> add_list : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-pair">pair</a> list <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span class="keyword">val</span> of_list : <a href="../index.html#type-pair">pair</a> list <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span class="keyword">val</span> to_list : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../index.html#type-pair">pair</a> list</code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCHet (containers-data.CCHet)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHet</nav><h1>Module <code>CCHet</code></h1><h2 id="associative-containers-with-heterogeneous-values"><a href="#associative-containers-with-heterogeneous-values" class="anchor"></a>Associative containers with Heterogeneous Values</h2><p>This is similar to <a href="../CCMixtbl/index.html"><code>CCMixtbl</code></a>, but the injection is directly used as a key.</p><dl><dt>since</dt><dd>0.17</dd></dl></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><code><span class="keyword">type</span> 'a gen</code><code> = unit <span>&#45;&gt;</span> <span class="type-var">'a</span> option</code></dt></dl><div class="spec module" id="module-Key"><a href="#module-Key" class="anchor"></a><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><dl><dt class="spec type" id="type-pair"><a href="#type-pair" class="anchor"></a><code><span class="keyword">type</span> pair</code><code> = </code><table class="variant"><tr id="type-pair.Pair" class="anchored"><td class="def constructor"><a href="#type-pair.Pair" class="anchor"></a><code>| </code><code><span class="constructor">Pair</span> : <span class="type-var">'a</span> <a href="Key/index.html#type-t">Key.t</a> * <span class="type-var">'a</span> <span>&#45;&gt;</span> <a href="index.html#type-pair">pair</a></code></td></tr></table></dt></dl><dl><dt class="spec module" id="module-Tbl"><a href="#module-Tbl" class="anchor"></a><code><span class="keyword">module</span> <a href="Tbl/index.html">Tbl</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl><dl><dt class="spec module" id="module-Map"><a href="#module-Map" class="anchor"></a><code><span class="keyword">module</span> <a href="Map/index.html">Map</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

File diff suppressed because one or more lines are too long

View file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>pset (containers-data.CCKTree.pset)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCKTree</a> &#x00BB; pset</nav><h1>Class type <code>CCKTree.pset</code></h1><p>Abstract Set structure</p></header><dl><dt class="spec method" id="method-add"><a href="#method-add" class="anchor"></a><code><span class="keyword">method</span> add : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html">pset</a></code></dt><dt class="spec method" id="method-mem"><a href="#method-mem" class="anchor"></a><code><span class="keyword">method</span> mem : <span class="type-var">'a</span> <span>&#45;&gt;</span> bool</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Infix (containers-data.CCLazy_list.Infix)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCLazy_list</a> &#x00BB; Infix</nav><h1>Module <code>CCLazy_list.Infix</code></h1></header><dl><dt class="spec value" id="val-(&gt;|=)"><a href="#val-(&gt;|=)" class="anchor"></a><code><span class="keyword">val</span> (&gt;|=) : <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a></code></dt><dt class="spec value" id="val-(&gt;&gt;=)"><a href="#val-(&gt;&gt;=)" class="anchor"></a><code><span class="keyword">val</span> (&gt;&gt;=) : <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a></code></dt><dt class="spec value" id="val-(&lt;|&gt;)"><a href="#val-(&lt;|&gt;)" class="anchor"></a><code><span class="keyword">val</span> (&lt;|&gt;) : <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a></code></dt><dd><p>Alias to <a href="../index.html#val-default"><code>default</code></a>.</p><dl><dt>since</dt><dd>2.1</dd></dl></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-X (containers-data.CCMixmap.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMixmap</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-X</nav><h1>Parameter <code>Make.1-X</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMixmap (containers-data.CCMixmap)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMixmap</nav><h1>Module <code>CCMixmap</code></h1><h2 id="maps-with-heterogeneous-values"><a href="#maps-with-heterogeneous-values" class="anchor"></a>Maps with Heterogeneous Values</h2><p><b>status: experimental</b></p><pre><code class="ml">module M = CCMixmap.Make(CCInt)
let inj_int = CCMixmap.create_inj()
let inj_str = CCMixmap.create_inj()
let inj_list_int = CCMixmap.create_inj()
let m =
M.empty
|&gt; M.add ~inj:inj_int 1 1
|&gt; M.add ~inj:inj_str 2 &quot;2&quot;
|&gt; M.add ~inj:inj_list_int 3 [3;3;3]
assert (M.get ~inj:inj_int 1 m = Some 1)
assert (M.get ~inj:inj_str 1 m = None)
assert (M.get ~inj:inj_str 2 m = Some &quot;2&quot;)
assert (M.get ~inj:inj_int 2 m = None)
assert (M.get ~inj:inj_list_int 3 m = Some [3;3;3])
assert (M.get ~inj:inj_str 3 m = None)</code></pre><p>change of API, the map is last argument to make piping with <code>|&gt;</code> easier since 0.16.</p><dl><dt>since</dt><dd>0.9</dd></dl></header><dl><dt class="spec type" id="type-injection"><a href="#type-injection" class="anchor"></a><code><span class="keyword">type</span> 'a injection</code></dt><dd><p>An accessor for values of type 'a in any map. Values put in the map using a key can only be retrieved using this very same key.</p></dd></dl><dl><dt class="spec value" id="val-create_inj"><a href="#val-create_inj" class="anchor"></a><code><span class="keyword">val</span> create_inj : unit <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-injection">injection</a></code></dt><dd><p>Return a value that works for a given type of values. This function is normally called once for each type of value. Several keys may be created for the same type, but a value set with a given setter can only be retrieved with the matching getter. The same key can be reused across multiple maps (although not in a thread-safe way).</p></dd></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module-type" id="module-type-ORD"><a href="#module-type-ORD" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-ORD/index.html">ORD</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><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> : <a href="index.html#module-type-ORD">ORD</a>) <span>&#45;&gt;</span> <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> = <a href="Make/argument-1-X/index.html#type-t">X.t</a></code></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>ORD (containers-data.CCMixmap.ORD)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCMixmap</a> &#x00BB; ORD</nav><h1>Module type <code>CCMixmap.ORD</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMixset (containers-data.CCMixset)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMixset</nav><h1>Module <code>CCMixset</code></h1><h2 id="set-of-heterogeneous-values"><a href="#set-of-heterogeneous-values" class="anchor"></a>Set of Heterogeneous Values</h2><pre><code class="ml">let k1 : int key = newkey () in
let k2 : int key = newkey () in
let k3 : string key = newkey () in
let set =
empty
|&gt; set ~key:k1 1
|&gt; set ~key:k2 2
|&gt; set ~key:k3 &quot;3&quot;
in
assert (get ~key:k1 set = Some 1);
assert (get ~key:k2 set = Some 2);
assert (get ~key:k3 set = Some &quot;3&quot;);
()</code></pre><dl><dt>since</dt><dd>0.11</dd></dl></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt><dd><p>A set of values of heterogeneous types</p></dd></dl><dl><dt class="spec type" id="type-key"><a href="#type-key" class="anchor"></a><code><span class="keyword">type</span> 'a key</code></dt><dd><p>A unique &quot;key&quot; to access a value of type <code>'a</code> in a <code>set</code></p></dd></dl><dl><dt class="spec value" id="val-newkey"><a href="#val-newkey" class="anchor"></a><code><span class="keyword">val</span> newkey : unit <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="index.html#type-key">key</a></code></dt><dd><p><code>newkey ()</code> creates a new unique key that can be used to access a <code>'a</code> value in a set. Each key created with <code>newkey</code> is distinct from any other key, even if they have the same type.</p><p>Not thread-safe.</p></dd></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dd><p>Empty set.</p></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : key:<span class="type-var">'a</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>set ~key v set</code> maps <code>key</code> to <code>v</code> in <code>set</code>. It means that for every <code>set</code>, <code>get ~key (set ~key v set) = Some v</code>.</p></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : key:<span class="type-var">'a</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> option</code></dt><dd><p><code>get ~key set</code> obtains the value for <code>key</code> in <code>set</code>, if any.</p></dd></dl><dl><dt class="spec value" id="val-get_exn"><a href="#val-get_exn" class="anchor"></a><code><span class="keyword">val</span> get_exn : key:<span class="type-var">'a</span> <a href="index.html#type-key">key</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dd><p>Same as <a href="index.html#val-get"><code>get</code></a>, but can fail.</p><dl><dt>raises Not_found</dt><dd><p>if the key is not present.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-cardinal"><a href="#val-cardinal" class="anchor"></a><code><span class="keyword">val</span> cardinal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p>Number of mappings.</p></dd></dl></div></body></html>

View file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-K (containers-data.CCMultiMap.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"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMultiMap</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-K</nav><h1>Parameter <code>Make.1-K</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>2-V (containers-data.CCMultiMap.Make.2-V)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMultiMap</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 2-V</nav><h1>Parameter <code>Make.2-V</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-L (containers-data.CCMultiMap.MakeBidir.1-L)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMultiMap</a> &#x00BB; <a href="../index.html">MakeBidir</a> &#x00BB; 1-L</nav><h1>Parameter <code>MakeBidir.1-L</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>2-R (containers-data.CCMultiMap.MakeBidir.2-R)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMultiMap</a> &#x00BB; <a href="../index.html">MakeBidir</a> &#x00BB; 2-R</nav><h1>Parameter <code>MakeBidir.2-R</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMultiMap (containers-data.CCMultiMap)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMultiMap</nav><h1>Module <code>CCMultiMap</code></h1><h2 id="multimap"><a href="#multimap" class="anchor"></a>Multimap</h2><nav class="toc"><ul><li><a href="#two-way-multimap">Two-Way Multimap</a></li></ul></nav></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module-type" id="module-type-OrderedType"><a href="#module-type-OrderedType" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><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-OrderedType">OrderedType</a>) <span>&#45;&gt;</span> <span class="keyword">functor</span> (<a href="Make/argument-2-V/index.html">V</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) <span>&#45;&gt;</span> <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> = <a href="Make/argument-1-K/index.html#type-t">K.t</a> <span class="keyword">and</span> <span class="keyword">type</span> <a href="Make/index.html#type-value">value</a> = <a href="Make/argument-2-V/index.html#type-t">V.t</a></code></div><section><header><h3 id="two-way-multimap"><a href="#two-way-multimap" class="anchor"></a>Two-Way Multimap</h3><p>Represents n-to-n mappings between two types. Each element from the &quot;left&quot; is mapped to several right values, and conversely.</p><dl><dt>since</dt><dd>0.3.3</dd></dl></header><div class="spec module-type" id="module-type-BIDIR"><a href="#module-type-BIDIR" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-BIDIR/index.html">BIDIR</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="spec module" id="module-MakeBidir"><a href="#module-MakeBidir" class="anchor"></a><code><span class="keyword">module</span> <a href="MakeBidir/index.html">MakeBidir</a> : <span class="keyword">functor</span> (<a href="MakeBidir/argument-1-L/index.html">L</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) <span>&#45;&gt;</span> <span class="keyword">functor</span> (<a href="MakeBidir/argument-2-R/index.html">R</a> : <a href="index.html#module-type-OrderedType">OrderedType</a>) <span>&#45;&gt;</span> <a href="index.html#module-type-BIDIR">BIDIR</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="MakeBidir/index.html#type-left">left</a> = <a href="MakeBidir/argument-1-L/index.html#type-t">L.t</a> <span class="keyword">and</span> <span class="keyword">type</span> <a href="MakeBidir/index.html#type-right">right</a> = <a href="MakeBidir/argument-2-R/index.html#type-t">R.t</a></code></div></section></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>OrderedType (containers-data.CCMultiMap.OrderedType)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCMultiMap</a> &#x00BB; OrderedType</nav><h1>Module type <code>CCMultiMap.OrderedType</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span class="keyword">val</span> compare : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMultiSet (containers-data.CCMultiSet)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMultiSet</nav><h1>Module <code>CCMultiSet</code></h1><h2 id="multiset"><a href="#multiset" class="anchor"></a>Multiset</h2></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt></dl><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">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="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span class="keyword">module</span> <a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/index.html#argument-1-O">O</a> : Stdlib.Set.OrderedType) <span>&#45;&gt;</span> <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> = <a href="Make/index.html#argument-1-O">O</a>.t</code></div></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-H (containers-data.CCPersistentHashtbl.Make.1-H)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCPersistentHashtbl</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-H</nav><h1>Parameter <code>Make.1-H</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCPersistentHashtbl (containers-data.CCPersistentHashtbl)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCPersistentHashtbl</nav><h1>Module <code>CCPersistentHashtbl</code></h1><h2 id="persistent-hash-table-on-top-of-ocaml's-hashtables"><a href="#persistent-hash-table-on-top-of-ocaml's-hashtables" class="anchor"></a>Persistent hash-table on top of OCaml's hashtables</h2><p>Almost as efficient as the regular Hashtbl type, but with a persistent interface (rewinding changes to get back in the past history). This is mostly useful for backtracking-like uses, or forward uses (never using old values).</p><p>This module is not thread-safe.</p><nav class="toc"><ul><li><a href="#signature-of-such-a-hashtable">Signature of such a hashtable</a></li><li><a href="#implementation">Implementation</a></li></ul></nav></header><dl><dt class="spec type" id="type-iter"><a href="#type-iter" class="anchor"></a><code><span class="keyword">type</span> 'a iter</code><code> = (<span class="type-var">'a</span> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span class="keyword">type</span> 'a printer</code><code> = Stdlib.Format.formatter <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-equal"><a href="#type-equal" class="anchor"></a><code><span class="keyword">type</span> 'a equal</code><code> = <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <span>&#45;&gt;</span> bool</code></dt></dl><div class="spec module-type" id="module-type-HashedType"><a href="#module-type-HashedType" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-HashedType/index.html">HashedType</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><section><header><h3 id="signature-of-such-a-hashtable"><a href="#signature-of-such-a-hashtable" class="anchor"></a>Signature of such a hashtable</h3></header><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><code><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-S/index.html">S</a> = <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div></section><section><header><h3 id="implementation"><a href="#implementation" class="anchor"></a>Implementation</h3></header><div class="spec module" id="module-Make"><a href="#module-Make" class="anchor"></a><code><span class="keyword">module</span> <a href="Make/index.html">Make</a> : <span class="keyword">functor</span> (<a href="Make/argument-1-H/index.html">H</a> : <a href="index.html#module-type-HashedType">HashedType</a>) <span>&#45;&gt;</span> <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> = <a href="Make/argument-1-H/index.html#type-t">H.t</a></code></div></section></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>HashedType (containers-data.CCPersistentHashtbl.HashedType)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCPersistentHashtbl</a> &#x00BB; HashedType</nav><h1>Module type <code>CCPersistentHashtbl.HashedType</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span class="keyword">val</span> equal : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span class="keyword">val</span> hash : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Infix (containers-data.CCRAL.Infix)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCRAL</a> &#x00BB; Infix</nav><h1>Module <code>CCRAL.Infix</code></h1></header><dl><dt class="spec value" id="val-(@+)"><a href="#val-(@+)" class="anchor"></a><code><span class="keyword">val</span> (@+) : <span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a></code></dt><dd><p>Cons (alias to <a href="../index.html#val-cons"><code>cons</code></a>).</p></dd></dl><dl><dt class="spec value" id="val-(&gt;&gt;=)"><a href="#val-(&gt;&gt;=)" class="anchor"></a><code><span class="keyword">val</span> (&gt;&gt;=) : <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a></code></dt><dd><p>Alias to <a href="../index.html#val-flat_map"><code>flat_map</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-(&gt;|=)"><a href="#val-(&gt;|=)" class="anchor"></a><code><span class="keyword">val</span> (&gt;|=) : <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a></code></dt><dd><p>Alias to <a href="../index.html#val-map"><code>map</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-(&lt;*&gt;)"><a href="#val-(&lt;*&gt;)" class="anchor"></a><code><span class="keyword">val</span> (&lt;*&gt;) : (<span class="type-var">'a</span> <span>&#45;&gt;</span> <span class="type-var">'b</span>) <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span> <a href="../index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'b</span> <a href="../index.html#type-t">t</a></code></dt><dd><p>Alias to <a href="../index.html#val-app"><code>app</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-(--)"><a href="#val-(--)" class="anchor"></a><code><span class="keyword">val</span> (--) : int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <a href="../index.html#type-t">t</a></code></dt><dd><p>Alias to <a href="../index.html#val-range"><code>range</code></a>.</p></dd></dl><dl><dt class="spec value" id="val-(--^)"><a href="#val-(--^)" class="anchor"></a><code><span class="keyword">val</span> (--^) : int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <a href="../index.html#type-t">t</a></code></dt><dd><p><code>a --^ b</code> is the integer range from <code>a</code> to <code>b</code>, where <code>b</code> is excluded.</p><dl><dt>since</dt><dd>0.17</dd></dl></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Byte (containers-data.CCRingBuffer.Array.Byte)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCRingBuffer</a> &#x00BB; <a href="../index.html">Array</a> &#x00BB; Byte</nav><h1>Module <code>Array.Byte</code></h1><p>Efficient array version for the <code>char</code> type</p></header><dl><dt class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><code><span class="keyword">type</span> elt</code><code> = char</code></dt><dd><p>The element type</p></dd></dl><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = Stdlib.Bytes.t</code></dt><dd><p>The type of an array instance</p></dd></dl><dl><dt class="spec value" id="val-dummy"><a href="#val-dummy" class="anchor"></a><code><span class="keyword">val</span> dummy : <a href="index.html#type-elt">elt</a></code></dt><dd><p>A dummy element used for empty slots in the array</p><dl><dt>since</dt><dd>2.4</dd></dl></dd></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Make an array of the given size, filled with dummy elements.</p></dd></dl><dl><dt class="spec value" id="val-length"><a href="#val-length" class="anchor"></a><code><span class="keyword">val</span> length : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p><code>length t</code> gets the total number of elements currently in <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-elt">elt</a></code></dt><dd><p><code>get t i</code> gets the element at position <code>i</code>.</p></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-elt">elt</a> <span>&#45;&gt;</span> unit</code></dt><dd><p><code>set t i e</code> sets the element at position <code>i</code> to <code>e</code>.</p></dd></dl><dl><dt class="spec value" id="val-sub"><a href="#val-sub" class="anchor"></a><code><span class="keyword">val</span> sub : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>sub t i len</code> gets the sub-array of <code>t</code> from position <code>i</code> to <code>i + len</code>.</p></dd></dl><dl><dt class="spec value" id="val-copy"><a href="#val-copy" class="anchor"></a><code><span class="keyword">val</span> copy : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>copy t</code> makes a fresh copy of the array <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-blit"><a href="#val-blit" class="anchor"></a><code><span class="keyword">val</span> blit : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> unit</code></dt><dd><p><code>blit t s arr i len</code> copies <code>len</code> elements from <code>arr</code> starting at <code>i</code> to position <code>s</code> from <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : (<a href="index.html#type-elt">elt</a> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p><code>iter f t</code> iterates over the array <code>t</code> invoking <code>f</code> with the current element, in array order.</p></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>1-Elt (containers-data.CCRingBuffer.Array.Make.1-Elt)</title><link rel="stylesheet" href="../../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../../index.html">containers-data</a> &#x00BB; <a href="../../../index.html">CCRingBuffer</a> &#x00BB; <a href="../../index.html">Array</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-Elt</nav><h1>Parameter <code>Make.1-Elt</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-dummy"><a href="#val-dummy" class="anchor"></a><code><span class="keyword">val</span> dummy : <a href="index.html#type-t">t</a></code></dt></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers-data.CCRingBuffer.Array.Make)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCRingBuffer</a> &#x00BB; <a href="../index.html">Array</a> &#x00BB; Make</nav><h1>Module <code>Array.Make</code></h1><p>Makes an array given an arbitrary element type</p></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-Elt/index.html">Elt</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></li></ul><h3 class="heading">Signature</h3><dl><dt class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><code><span class="keyword">type</span> elt</code><code> = <a href="argument-1-Elt/index.html#type-t">Elt.t</a></code></dt><dd><p>The element type</p></dd></dl><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <a href="argument-1-Elt/index.html#type-t">Elt.t</a> array</code></dt><dd><p>The type of an array instance</p></dd></dl><dl><dt class="spec value" id="val-dummy"><a href="#val-dummy" class="anchor"></a><code><span class="keyword">val</span> dummy : <a href="index.html#type-elt">elt</a></code></dt><dd><p>A dummy element used for empty slots in the array</p><dl><dt>since</dt><dd>2.4</dd></dl></dd></dl><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Make an array of the given size, filled with dummy elements.</p></dd></dl><dl><dt class="spec value" id="val-length"><a href="#val-length" class="anchor"></a><code><span class="keyword">val</span> length : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dd><p><code>length t</code> gets the total number of elements currently in <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-elt">elt</a></code></dt><dd><p><code>get t i</code> gets the element at position <code>i</code>.</p></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-elt">elt</a> <span>&#45;&gt;</span> unit</code></dt><dd><p><code>set t i e</code> sets the element at position <code>i</code> to <code>e</code>.</p></dd></dl><dl><dt class="spec value" id="val-sub"><a href="#val-sub" class="anchor"></a><code><span class="keyword">val</span> sub : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>sub t i len</code> gets the sub-array of <code>t</code> from position <code>i</code> to <code>i + len</code>.</p></dd></dl><dl><dt class="spec value" id="val-copy"><a href="#val-copy" class="anchor"></a><code><span class="keyword">val</span> copy : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>copy t</code> makes a fresh copy of the array <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-blit"><a href="#val-blit" class="anchor"></a><code><span class="keyword">val</span> blit : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> unit</code></dt><dd><p><code>blit t s arr i len</code> copies <code>len</code> elements from <code>arr</code> starting at <code>i</code> to position <code>s</code> from <code>t</code>.</p></dd></dl><dl><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : (<a href="index.html#type-elt">elt</a> <span>&#45;&gt;</span> unit) <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p><code>iter f t</code> iterates over the array <code>t</code> invoking <code>f</code> with the current element, in array order.</p></dd></dl></div></body></html>

Some files were not shown because too many files have changed in this diff Show more