mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-05 19:00:31 -05:00
14 lines
4.8 KiB
HTML
14 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCMixset (containers-data.CCMixset)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../odoc.support/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> » CCMixset</nav><header class="odoc-preamble"><h1>Module <code><span>CCMixset</span></code></h1><p>Set of Heterogeneous Values</p><pre class="language-ocaml"><code>let k1 : int key = newkey () in
|
||
let k2 : int key = newkey () in
|
||
let k3 : string key = newkey () in
|
||
let set =
|
||
empty
|
||
|> set ~key:k1 1
|
||
|> set ~key:k2 2
|
||
|> set ~key:k3 "3"
|
||
in
|
||
assert (get ~key:k1 set = Some 1);
|
||
assert (get ~key:k2 set = Some 2);
|
||
assert (get ~key:k3 set = Some "3");
|
||
()</code></pre><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11</li></ul></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><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 anchored" id="type-key"><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 "key" 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 anchored" id="val-newkey"><a href="#val-newkey" class="anchor"></a><code><span><span class="keyword">val</span> newkey : <span>unit <span class="arrow">-></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 anchored" id="val-empty"><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 anchored" id="val-set"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><span class="label">key</span>:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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 anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><span class="label">key</span>:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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 anchored" id="val-get_exn"><a href="#val-get_exn" class="anchor"></a><code><span><span class="keyword">val</span> get_exn : <span><span class="label">key</span>:<span><span class="type-var">'a</span> <a href="#type-key">key</a></span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></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> <code>Not_found</code> <p>if the key is not present.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-cardinal"><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">-></span></span> int</span></code></div><div class="spec-doc"><p>Number of mappings.</p></div></div></div></body></html>
|