doc for 3.6

This commit is contained in:
Simon Cruanes 2021-10-18 22:33:12 -04:00
parent aee7b9e790
commit 48f87001b0
No known key found for this signature in database
GPG key ID: 4AC01D0849AA62B6
394 changed files with 1707 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>L (containers-data.CCBijection.Make.1-L)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-L</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>R (containers-data.CCBijection.Make.2-R)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.2-R</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCBijection</nav><header class="odoc-preamble"><h1>Module <code><span>CCBijection</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#bijection">Bijection</a></li></ul></nav><div class="odoc-content"><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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.1</li></ul><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-OrderedType" class="anchored"><a href="#module-type-OrderedType" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-OrderedType/index.html">OrderedType</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-L/index.html">L</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) (<a href="Make/argument-2-R/index.html">R</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-left">left</a> = <a href="Make/argument-1-L/index.html#type-t">L.t</a></span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-right">right</a> = <a href="Make/argument-2-R/index.html#type-t">R.t</a></span></span></code></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBijection</a> &#x00BB; OrderedType</nav><header class="odoc-preamble"><h1>Module type <code><span>CCBijection.OrderedType</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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>_ (containers-data.CCBitField.Make.1-_)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-_</span></code></h1></header><div class="odoc-content"></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBitField</a> &#x00BB; Make</nav><header class="odoc-preamble"><h1>Module <code><span>CCBitField.Make</span></code></h1><p>Create a new bitfield type</p></header><nav class="odoc-toc"><ul><li><a href="#parameters">Parameters</a></li><li><a href="#signature">Signature</a></li></ul></nav><div class="odoc-content"><h2 id="parameters"><a href="#parameters" class="anchor"></a>Parameters</h2><div class="odoc-spec"><div class="spec parameter" id="argument-1-_" class="anchored"><a href="#argument-1-_" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="argument-1-_/index.html">_</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><h2 id="signature"><a href="#signature" class="anchor"></a>Signature</h2><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <span class="keyword">private</span> int</span></code></div><div class="spec-doc"><p>Generative type of bitfields. Each instantiation of the functor should create a new, incompatible type</p></div></div><div class="odoc-spec"><div class="spec value" id="val-empty" class="anchored"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Empty bitfields (all bits 0).</p></div></div><div class="odoc-spec"><div class="spec type" id="type-field" class="anchored"><a href="#type-field" class="anchor"></a><code><span><span class="keyword">type</span> field</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-get" class="anchored"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-field">field</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Get the value of this field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set" class="anchored"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><a href="#type-field">field</a> <span class="arrow">&#45;&gt;</span></span> <span>bool <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set the value of this field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-mk_field" class="anchored"><a href="#val-mk_field" class="anchor"></a><code><span><span class="keyword">val</span> mk_field : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-field">field</a></span></code></div><div class="spec-doc"><p>Make a new field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-freeze" class="anchored"><a href="#val-freeze" class="anchor"></a><code><span><span class="keyword">val</span> freeze : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Prevent new fields from being added. From now on, creating a field will raise Frozen.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-total_width" class="anchored"><a href="#val-total_width" class="anchor"></a><code><span><span class="keyword">val</span> total_width : <span>unit <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Current width of the bitfield.</p></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCBitField</nav><header class="odoc-preamble"><h1>Module <code><span>CCBitField</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#bit-field">Bit Field</a></li></ul></nav><div class="odoc-content"><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>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><div class="odoc-spec"><div class="spec exception" id="exception-TooManyFields" class="anchored"><a href="#exception-TooManyFields" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">TooManyFields</span></span></code></div><div class="spec-doc"><p>Raised when too many fields are packed into one bitfield.</p></div></div><div class="odoc-spec"><div class="spec exception" id="exception-Frozen" class="anchored"><a href="#exception-Frozen" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Frozen</span></span></code></div><div class="spec-doc"><p>Raised when a frozen bitfield is modified.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-max_width" class="anchored"><a href="#val-max_width" class="anchor"></a><code><span><span class="keyword">val</span> max_width : int</span></code></div><div class="spec-doc"><p>System-dependent maximum width for a bitfield, typically 30 or 62.</p></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-_/index.html">_</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span>) : <a href="module-type-S/index.html">S</a></span></code></div><div class="spec-doc"><p>Create a new bitfield type</p></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCBitField</a> &#x00BB; S</nav><header class="odoc-preamble"><h1>Module type <code><span>CCBitField.S</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#bitfield-signature">Bitfield Signature</a></li></ul></nav><div class="odoc-content"><h3 id="bitfield-signature"><a href="#bitfield-signature" class="anchor"></a>Bitfield Signature</h3><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <span class="keyword">private</span> int</span></code></div><div class="spec-doc"><p>Generative type of bitfields. Each instantiation of the functor should create a new, incompatible type</p></div></div><div class="odoc-spec"><div class="spec value" id="val-empty" class="anchored"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Empty bitfields (all bits 0).</p></div></div><div class="odoc-spec"><div class="spec type" id="type-field" class="anchored"><a href="#type-field" class="anchor"></a><code><span><span class="keyword">type</span> field</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-get" class="anchored"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-field">field</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Get the value of this field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set" class="anchored"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><a href="#type-field">field</a> <span class="arrow">&#45;&gt;</span></span> <span>bool <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Set the value of this field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-mk_field" class="anchored"><a href="#val-mk_field" class="anchor"></a><code><span><span class="keyword">val</span> mk_field : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-field">field</a></span></code></div><div class="spec-doc"><p>Make a new field.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-freeze" class="anchored"><a href="#val-freeze" class="anchor"></a><code><span><span class="keyword">val</span> freeze : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Prevent new fields from being added. From now on, creating a field will raise Frozen.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-total_width" class="anchored"><a href="#val-total_width" class="anchor"></a><code><span><span class="keyword">val</span> total_width : <span>unit <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Current width of the bitfield.</p></div></div></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

View file

@ -0,0 +1,6 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dot (containers-data.CCGraph.Dot)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCGraph</a> &#x00BB; Dot</nav><header class="odoc-preamble"><h1>Module <code><span>CCGraph.Dot</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-attribute" class="anchored"><a href="#type-attribute" class="anchor"></a><code><span><span class="keyword">type</span> attribute</span><span> = </span><span>[ </span></code><table><tr id="type-attribute.Color" class="anchored"><td class="def constructor"><a href="#type-attribute.Color" class="anchor"></a><code><span>| </span></code><code><span>`Color <span class="keyword">of</span> string</span></code></td></tr><tr id="type-attribute.Shape" class="anchored"><td class="def constructor"><a href="#type-attribute.Shape" class="anchor"></a><code><span>| </span></code><code><span>`Shape <span class="keyword">of</span> string</span></code></td></tr><tr id="type-attribute.Weight" class="anchored"><td class="def constructor"><a href="#type-attribute.Weight" class="anchor"></a><code><span>| </span></code><code><span>`Weight <span class="keyword">of</span> int</span></code></td></tr><tr id="type-attribute.Style" class="anchored"><td class="def constructor"><a href="#type-attribute.Style" class="anchor"></a><code><span>| </span></code><code><span>`Style <span class="keyword">of</span> string</span></code></td></tr><tr id="type-attribute.Label" class="anchored"><td class="def constructor"><a href="#type-attribute.Label" class="anchor"></a><code><span>| </span></code><code><span>`Label <span class="keyword">of</span> string</span></code></td></tr><tr id="type-attribute.Other" class="anchored"><td class="def constructor"><a href="#type-attribute.Other" class="anchor"></a><code><span>| </span></code><code><span>`Other <span class="keyword">of</span> string * string</span></code></td></tr></table><code><span> ]</span></code></div><div class="spec-doc"><p>Dot attribute</p></div></div><div class="odoc-spec"><div class="spec type" id="type-vertex_state" class="anchored"><a href="#type-vertex_state" class="anchor"></a><code><span><span class="keyword">type</span> vertex_state</span></code></div><div class="spec-doc"><p>Hidden state associated to a vertex</p></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span>tbl:<span><span>(<span class="type-var">'v</span>, <a href="#type-vertex_state">vertex_state</a>)</span> <a href="../index.html#type-table">table</a></span> <span class="arrow">&#45;&gt;</span></span> <span>eq:<span>(<span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> bool)</span> <span class="arrow">&#45;&gt;</span></span> <span>?attrs_v:<span>(<span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-attribute">attribute</a> list</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span>?attrs_e:<span>(<span><span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-attribute">attribute</a> list</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span>?name:string <span class="arrow">&#45;&gt;</span></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Print the graph, starting from given vertex, on the formatter.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">attrs_v</span> <p>attributes for vertices.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">attrs_e</span> <p>attributes for edges.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">name</span> <p>name of the graph.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-pp_all" class="anchored"><a href="#val-pp_all" class="anchor"></a><code><span><span class="keyword">val</span> pp_all : <span>tbl:<span><span>(<span class="type-var">'v</span>, <a href="#type-vertex_state">vertex_state</a>)</span> <a href="../index.html#type-table">table</a></span> <span class="arrow">&#45;&gt;</span></span> <span>eq:<span>(<span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> bool)</span> <span class="arrow">&#45;&gt;</span></span> <span>?attrs_v:<span>(<span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-attribute">attribute</a> list</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span>?attrs_e:<span>(<span><span class="type-var">'e</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-attribute">attribute</a> list</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span>?name:string <span class="arrow">&#45;&gt;</span></span> <span>graph:<span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'v</span> <a href="../index.html#type-iter">iter</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Same as <a href="#val-pp"><code>pp</code></a> but starting from several vertices, not just one.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.8</li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-with_out" class="anchored"><a href="#val-with_out" class="anchor"></a><code><span><span class="keyword">val</span> with_out : <span>string <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Shortcut to open a file and write to it.</p></div></div></div></body></html>

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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCGraph</a> &#x00BB; Iter</nav><header class="odoc-preamble"><h1>Module <code><span>CCGraph.Iter</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a t</span></span><span> = <span><span class="type-var">'a</span> <a href="../index.html#type-iter">iter</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-return" class="anchored"><a href="#val-return" class="anchor"></a><code><span><span class="keyword">val</span> return : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(&gt;&gt;=)" class="anchored"><a href="#val-(&gt;&gt;=)" class="anchor"></a><code><span><span class="keyword">val</span> (&gt;&gt;=) : <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="#type-t">t</a></span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-map" class="anchored"><a href="#val-map" class="anchor"></a><code><span><span class="keyword">val</span> map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-filter_map" class="anchored"><a href="#val-filter_map" class="anchor"></a><code><span><span class="keyword">val</span> filter_map : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> option</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-iter" class="anchored"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-fold" class="anchored"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>(<span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-to_list" class="anchored"><a href="#val-to_list" class="anchor"></a><code><span><span class="keyword">val</span> to_list : <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> list</span></span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Module <code><span>CCGraph.Lazy_tree</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>('v, 'e) t</span></span><span> = </span><span>{</span></code><table><tr id="type-t.vertex" class="anchored"><td class="def record field"><a href="#type-t.vertex" class="anchor"></a><code><span>vertex : <span class="type-var">'v</span>;</span></code></td></tr><tr id="type-t.children" class="anchored"><td class="def record field"><a href="#type-t.children" class="anchor"></a><code><span>children : <span><span><span>(<span class="type-var">'e</span> * <span><span>(<span class="type-var">'v</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span>)</span> list</span> <span class="xref-unresolved">Stdlib</span>.Lazy.t</span>;</span></code></td></tr></table><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-map_v" class="anchored"><a href="#val-map_v" class="anchor"></a><code><span><span class="keyword">val</span> map_v : <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span class="type-var">'b</span>, <span class="type-var">'e</span>)</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-fold_v" class="anchored"><a href="#val-fold_v" class="anchor"></a><code><span><span class="keyword">val</span> fold_v : <span><span>(<span><span class="type-var">'acc</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'v</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'acc</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'acc</span> <span class="arrow">&#45;&gt;</span></span> <span><span><span>(<span class="type-var">'v</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'acc</span></span></code></div></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

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>E (containers-data.CCHashSet.Make.1-E)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-E</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Positive value</p></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHashSet</nav><header class="odoc-preamble"><h1>Module <code><span>CCHashSet</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#mutable-set">Mutable Set</a></li></ul></nav><div class="odoc-content"><h2 id="mutable-set"><a href="#mutable-set" class="anchor"></a>Mutable Set</h2><p><b>status: unstable</b></p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.13</li></ul><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-printer" class="anchored"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-ELEMENT" class="anchored"><a href="#module-type-ELEMENT" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-ELEMENT/index.html">ELEMENT</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-E/index.html">E</a> : <a href="module-type-ELEMENT/index.html">ELEMENT</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <a href="Make/argument-1-E/index.html#type-t">E.t</a></span></span></code></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashSet</a> &#x00BB; ELEMENT</nav><header class="odoc-preamble"><h1>Module type <code><span>CCHashSet.ELEMENT</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Positive value</p></div></div></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>K (containers-data.CCHashTrie.Make.1-K)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-K</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashTrie</a> &#x00BB; Transient</nav><header class="odoc-preamble"><h1>Module <code><span>CCHashTrie.Transient</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#transient-identifiers">Transient Identifiers</a></li></ul></nav><div class="odoc-content"><h3 id="transient-identifiers"><a href="#transient-identifiers" class="anchor"></a>Transient Identifiers</h3><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-create" class="anchored"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Create a new, active ID.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Equality between IDs.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-frozen" class="anchored"><a href="#val-frozen" class="anchor"></a><code><span><span class="keyword">val</span> frozen : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-active" class="anchored"><a href="#val-active" class="anchor"></a><code><span><span class="keyword">val</span> active : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>active i</code> is <code>not (frozen i)</code>.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-freeze" class="anchored"><a href="#val-freeze" class="anchor"></a><code><span><span class="keyword">val</span> freeze : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-with_" class="anchored"><a href="#val-with_" class="anchor"></a><code><span><span class="keyword">val</span> with_ : <span><span>(<span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec exception" id="exception-Frozen" class="anchored"><a href="#exception-Frozen" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Frozen</span></span></code></div><div class="spec-doc"><p>Raised when a frozen ID is used.</p></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHashTrie</nav><header class="odoc-preamble"><h1>Module <code><span>CCHashTrie</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#hash-tries">Hash Tries</a></li></ul></nav><div class="odoc-content"><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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.13</li></ul><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-gen" class="anchored"><a href="#type-gen" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a gen</span></span><span> = <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-printer" class="anchored"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-ktree" class="anchored"><a href="#type-ktree" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a ktree</span></span><span> = <span>unit <span class="arrow">&#45;&gt;</span></span> <span>[ `Nil <span><span>| `Node</span> of <span class="type-var">'a</span> * <span><span><span class="type-var">'a</span> <a href="#type-ktree">ktree</a></span> list</span></span> ]</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Transient" class="anchored"><a href="#module-Transient" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Transient/index.html">Transient</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-KEY" class="anchored"><a href="#module-type-KEY" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-KEY/index.html">KEY</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-K/index.html">K</a> : <a href="module-type-KEY/index.html">KEY</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <a href="Make/argument-1-K/index.html#type-t">K.t</a></span></span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHashTrie</a> &#x00BB; KEY</nav><header class="odoc-preamble"><h1>Module type <code><span>CCHashTrie.KEY</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#type-for-keys">Type for keys</a></li></ul></nav><div class="odoc-content"><h3 id="type-for-keys"><a href="#type-for-keys" class="anchor"></a>Type for keys</h3><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCHet</a> &#x00BB; Key</nav><header class="odoc-preamble"><h1>Module <code><span>CCHet.Key</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a t</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-create" class="anchored"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Compare two keys that have compatible types.</p></div></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>CCHet (containers-data.CCHet)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCHet</nav><header class="odoc-preamble"><h1>Module <code><span>CCHet</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#associative-containers-with-heterogeneous-values">Associative containers with Heterogeneous Values</a></li></ul></nav><div class="odoc-content"><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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.17</li></ul><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-gen" class="anchored"><a href="#type-gen" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a gen</span></span><span> = <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Key" class="anchored"><a href="#module-Key" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Key/index.html">Key</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-pair" class="anchored"><a href="#type-pair" class="anchor"></a><code><span><span class="keyword">type</span> pair</span><span> = </span></code><table><tr id="type-pair.Pair" class="anchored"><td class="def variant constructor"><a href="#type-pair.Pair" class="anchor"></a><code><span>| </span><span><span class="constructor">Pair</span> : <span><span class="type-var">'a</span> <a href="Key/index.html#type-t">Key.t</a></span> * <span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span> <a href="#type-pair">pair</a></span></code></td></tr></table></div></div><div class="odoc-spec"><div class="spec module" id="module-Tbl" class="anchored"><a href="#module-Tbl" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Tbl/index.html">Tbl</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Map" class="anchored"><a href="#module-Map" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Map/index.html">Map</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCKTree</a> &#x00BB; pset</nav><header class="odoc-preamble"><h1>Class type <code><span>CCKTree.pset</span></code></h1><p>Abstract Set structure</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec method" id="method-add" class="anchored"><a href="#method-add" class="anchor"></a><code><span><span class="keyword">method</span> add : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#">pset</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method" id="method-mem" class="anchored"><a href="#method-mem" class="anchor"></a><code><span><span class="keyword">method</span> mem : <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Module <code><span>CCLazy_list.Infix</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec value" id="val-(&gt;|=)" class="anchored"><a href="#val-(&gt;|=)" class="anchor"></a><code><span><span class="keyword">val</span> (&gt;|=) : <span><span><span class="type-var">'a</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="../index.html#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(&gt;&gt;=)" class="anchored"><a href="#val-(&gt;&gt;=)" class="anchor"></a><code><span><span class="keyword">val</span> (&gt;&gt;=) : <span><span><span class="type-var">'a</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="../index.html#type-t">t</a></span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'b</span> <a href="../index.html#type-t">t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-(&lt;|&gt;)" class="anchored"><a href="#val-(&lt;|&gt;)" class="anchor"></a><code><span><span class="keyword">val</span> (&lt;|&gt;) : <span><span><span class="type-var">'a</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="../index.html#type-t">t</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="../index.html#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Alias to <a href="../index.html#val-default"><code>default</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.1</li></ul></div></div></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>X (containers-data.CCMixmap.Make.1-X)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-X</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMixmap</nav><header class="odoc-preamble"><h1>Module <code><span>CCMixmap</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#maps-with-heterogeneous-values">Maps with Heterogeneous Values</a></li></ul></nav><div class="odoc-content"><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>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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.9</li></ul><div class="odoc-spec"><div class="spec type" id="type-injection" class="anchored"><a href="#type-injection" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a injection</span></span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-create_inj" class="anchored"><a href="#val-create_inj" class="anchor"></a><code><span><span class="keyword">val</span> create_inj : <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-injection">injection</a></span></span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-ORD" class="anchored"><a href="#module-type-ORD" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-ORD/index.html">ORD</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-X/index.html">X</a> : <a href="module-type-ORD/index.html">ORD</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <a href="Make/argument-1-X/index.html#type-t">X.t</a></span></span></code></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCMixmap</a> &#x00BB; ORD</nav><header class="odoc-preamble"><h1>Module type <code><span>CCMixmap.ORD</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMixset</nav><header class="odoc-preamble"><h1>Module <code><span>CCMixset</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#set-of-heterogeneous-values">Set of Heterogeneous Values</a></li></ul></nav><div class="odoc-content"><h2 id="set-of-heterogeneous-values"><a href="#set-of-heterogeneous-values" class="anchor"></a>Set of Heterogeneous Values</h2><pre><code>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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>A set of values of heterogeneous types</p></div></div><div class="odoc-spec"><div class="spec type" id="type-key" class="anchored"><a href="#type-key" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a key</span></span></code></div><div class="spec-doc"><p>A unique &quot;key&quot; to access a value of type <code>'a</code> in a <code>set</code></p></div></div><div class="odoc-spec"><div class="spec value" id="val-newkey" class="anchored"><a href="#val-newkey" class="anchor"></a><code><span><span class="keyword">val</span> newkey : <span>unit <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="#type-key">key</a></span></span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-empty" class="anchored"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Empty set.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set" class="anchored"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span>key:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><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></div></div><div class="odoc-spec"><div class="spec value" id="val-get" class="anchored"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span>key:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> option</span></span></code></div><div class="spec-doc"><p><code>get ~key set</code> obtains the value for <code>key</code> in <code>set</code>, if any.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-get_exn" class="anchored"><a href="#val-get_exn" class="anchor"></a><code><span><span class="keyword">val</span> get_exn : <span>key:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p>Same as <a href="#val-get"><code>get</code></a>, but can fail.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Not_found</span> <p>if the key is not present.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value" id="val-cardinal" class="anchored"><a href="#val-cardinal" class="anchor"></a><code><span><span class="keyword">val</span> cardinal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Number of mappings.</p></div></div></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>K (containers-data.CCMultiMap.Make.1-K)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-K</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></div></body></html>

View file

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

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>R (containers-data.CCMultiMap.MakeBidir.2-R)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>MakeBidir.2-R</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMultiMap</nav><header class="odoc-preamble"><h1>Module <code><span>CCMultiMap</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#multimap">Multimap</a><ul><li><a href="#two-way-multimap">Two-Way Multimap</a></li></ul></li></ul></nav><div class="odoc-content"><h2 id="multimap"><a href="#multimap" class="anchor"></a>Multimap</h2><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-OrderedType" class="anchored"><a href="#module-type-OrderedType" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-OrderedType/index.html">OrderedType</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-K/index.html">K</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) (<a href="Make/argument-2-V/index.html">V</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <a href="Make/argument-1-K/index.html#type-t">K.t</a></span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-value">value</a> = <a href="Make/argument-2-V/index.html#type-t">V.t</a></span></span></code></div></div><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><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3.3</li></ul><div class="odoc-spec"><div class="spec module-type" id="module-type-BIDIR" class="anchored"><a href="#module-type-BIDIR" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-BIDIR/index.html">BIDIR</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-MakeBidir" class="anchored"><a href="#module-MakeBidir" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="MakeBidir/index.html">MakeBidir</a></span><span> (<a href="MakeBidir/argument-1-L/index.html">L</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) (<a href="MakeBidir/argument-2-R/index.html">R</a> : <a href="module-type-OrderedType/index.html">OrderedType</a>) : <a href="module-type-BIDIR/index.html">BIDIR</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-BIDIR/index.html#type-left">left</a> = <a href="MakeBidir/argument-1-L/index.html#type-t">L.t</a></span> <span class="keyword">and</span> <span><span class="keyword">type</span> <a href="module-type-BIDIR/index.html#type-right">right</a> = <a href="MakeBidir/argument-2-R/index.html#type-t">R.t</a></span></span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCMultiMap</a> &#x00BB; OrderedType</nav><header class="odoc-preamble"><h1>Module type <code><span>CCMultiMap.OrderedType</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-compare" class="anchored"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></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>CCMultiSet (containers-data.CCMultiSet)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMultiSet</nav><header class="odoc-preamble"><h1>Module <code><span>CCMultiSet</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#multiset">Multiset</a></li></ul></nav><div class="odoc-content"><h2 id="multiset"><a href="#multiset" class="anchor"></a>Multiset</h2><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/index.html#argument-1-O">O</a> : <span class="xref-unresolved">Stdlib</span>.Set.OrderedType) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-elt">elt</a> = <span class="xref-unresolved">O</span>.t</span></span></code></div></div></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>X (containers-data.CCMutHeap.Make.1-X)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">containers-data</a> &#x00BB; <a href="../../index.html">CCMutHeap</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; 1-X</nav><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-X</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-idx" class="anchored"><a href="#val-idx" class="anchor"></a><code><span><span class="keyword">val</span> idx : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Index in heap. return -1 if never set</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set_idx" class="anchored"><a href="#val-set_idx" class="anchor"></a><code><span><span class="keyword">val</span> set_idx : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Index in heap. return -1 if never set</p><p>Update index in heap</p></div></div><div class="odoc-spec"><div class="spec value" id="val-lt" class="anchored"><a href="#val-lt" class="anchor"></a><code><span><span class="keyword">val</span> lt : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Update index in heap</p><p><code>cmp a b</code> is true iff <code>a &lt; b</code></p></div></div></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>CCMutHeap (containers-data.CCMutHeap)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMutHeap</nav><header class="odoc-preamble"><h1>Module <code><span>CCMutHeap</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#mutable-heaps">Mutable Heaps</a></li></ul></nav><div class="odoc-content"><h2 id="mutable-heaps"><a href="#mutable-heaps" class="anchor"></a>Mutable Heaps</h2><p>The classic binary heap in a vector.</p><p><b>STATUS</b>: experimental, this might change in breaking ways.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.1</li></ul><div class="odoc-spec"><div class="spec module-type" id="module-type-RANKED" class="anchored"><a href="#module-type-RANKED" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span>RANKED</span><span> = <a href="../CCMutHeap_intf/module-type-RANKED/index.html">CCMutHeap_intf.RANKED</a></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span>S</span><span> = <a href="../CCMutHeap_intf/module-type-S/index.html">CCMutHeap_intf.S</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-X/index.html">X</a> : <a href="../CCMutHeap_intf/module-type-RANKED/index.html">RANKED</a>) : <a href="../CCMutHeap_intf/module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../CCMutHeap_intf/module-type-S/index.html#type-elt">elt</a> = <a href="Make/argument-1-X/index.html#type-t">X.t</a></span></span></code></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMutHeap_intf (containers-data.CCMutHeap_intf)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCMutHeap_intf</nav><header class="odoc-preamble"><h1>Module <code><span>CCMutHeap_intf</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#imperative-heaps">Imperative Heaps</a></li></ul></nav><div class="odoc-content"><h2 id="imperative-heaps"><a href="#imperative-heaps" class="anchor"></a>Imperative Heaps</h2><div class="odoc-spec"><div class="spec module-type" id="module-type-RANKED" class="anchored"><a href="#module-type-RANKED" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-RANKED/index.html">RANKED</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>RANKED (containers-data.CCMutHeap_intf.RANKED)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCMutHeap_intf</a> &#x00BB; RANKED</nav><header class="odoc-preamble"><h1>Module type <code><span>CCMutHeap_intf.RANKED</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-idx" class="anchored"><a href="#val-idx" class="anchor"></a><code><span><span class="keyword">val</span> idx : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p>Index in heap. return -1 if never set</p></div></div><div class="odoc-spec"><div class="spec value" id="val-set_idx" class="anchored"><a href="#val-set_idx" class="anchor"></a><code><span><span class="keyword">val</span> set_idx : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Index in heap. return -1 if never set</p><p>Update index in heap</p></div></div><div class="odoc-spec"><div class="spec value" id="val-lt" class="anchored"><a href="#val-lt" class="anchor"></a><code><span><span class="keyword">val</span> lt : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p>Update index in heap</p><p><code>cmp a b</code> is true iff <code>a &lt; b</code></p></div></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>H (containers-data.CCPersistentHashtbl.Make.1-H)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-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><header class="odoc-preamble"><h1>Parameter <code><span>Make.1-H</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">containers-data</a> &#x00BB; CCPersistentHashtbl</nav><header class="odoc-preamble"><h1>Module <code><span>CCPersistentHashtbl</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#persistent-hash-table-on-top-of-ocaml's-hashtables">Persistent hash-table on top of OCaml's hashtables</a><ul><li><a href="#signature-of-such-a-hashtable">Signature of such a hashtable</a></li><li><a href="#implementation">Implementation</a></li></ul></li></ul></nav><div class="odoc-content"><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><div class="odoc-spec"><div class="spec type" id="type-iter" class="anchored"><a href="#type-iter" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a iter</span></span><span> = <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-printer" class="anchored"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-equal" class="anchored"><a href="#type-equal" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a equal</span></span><span> = <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec module-type" id="module-type-HashedType" class="anchored"><a href="#module-type-HashedType" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-HashedType/index.html">HashedType</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><h3 id="signature-of-such-a-hashtable"><a href="#signature-of-such-a-hashtable" class="anchor"></a>Signature of such a hashtable</h3><div class="odoc-spec"><div class="spec module-type" id="module-type-S" class="anchored"><a href="#module-type-S" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> </span><span><a href="module-type-S/index.html">S</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><h3 id="implementation"><a href="#implementation" class="anchor"></a>Implementation</h3><div class="odoc-spec"><div class="spec module" id="module-Make" class="anchored"><a href="#module-Make" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="Make/index.html">Make</a></span><span> (<a href="Make/argument-1-H/index.html">H</a> : <a href="module-type-HashedType/index.html">HashedType</a>) : <a href="module-type-S/index.html">S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="module-type-S/index.html#type-key">key</a> = <a href="Make/argument-1-H/index.html#type-t">H.t</a></span></span></code></div></div></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="generator" content="odoc 2.0.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">containers-data</a> &#x00BB; <a href="../index.html">CCPersistentHashtbl</a> &#x00BB; HashedType</nav><header class="odoc-preamble"><h1>Module type <code><span>CCPersistentHashtbl.HashedType</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-equal" class="anchored"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-hash" class="anchored"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div></div></body></html>

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