mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
14 lines
No EOL
33 KiB
HTML
14 lines
No EOL
33 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCSet.Make)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.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</a> » <a href="../index.html">CCSet</a> » Make</nav><header class="odoc-preamble"><h1>Module <code><span>CCSet.Make</span></code></h1></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 anchored" id="argument-1-O"><a href="#argument-1-O" class="anchor"></a><code><span><span class="keyword">module</span> </span><span><a href="argument-1-O/index.html">O</a></span><span> : <a href="../../../ocaml/Stdlib/Set/module-type-OrderedType/index.html">Stdlib.Set.OrderedType</a></span></code></div></div><h2 id="signature"><a href="#signature" class="anchor"></a>Signature</h2><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../../ocaml/Stdlib/Set/module-type-S/index.html">Set.S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../../ocaml/Stdlib/Set/module-type-S/index.html#type-t">t</a> = <a href="../../../ocaml/Stdlib/Set/Make/index.html#type-t">Set.Make(O).t</a></span> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../../ocaml/Stdlib/Set/module-type-S/index.html#type-elt">elt</a> = <a href="argument-1-O/index.html#type-t">O.t</a></span></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-elt"><a href="#type-elt" class="anchor"></a><code><span><span class="keyword">type</span> elt</span><span> = <a href="argument-1-O/index.html#type-t">O.t</a></span></code></div><div class="spec-doc"><p>The type of the set elements.</p></div></div><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><span> = <a href="../../../ocaml/Stdlib/Set/Make/index.html#type-t">Stdlib.Set.Make(O).t</a></span></code></div><div class="spec-doc"><p>The type of sets.</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>The empty set.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><code><span><span class="keyword">val</span> is_empty : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Test whether a set is empty or not.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span><span class="keyword">val</span> mem : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>mem x s</code> tests whether <code>x</code> belongs to the set <code>s</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-elt">elt</a> <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>add x s</code> returns a set containing all elements of <code>s</code>, plus <code>x</code>. If <code>x</code> was already in <code>s</code>, <code>s</code> is returned unchanged (the result of the function is then physically equal to <code>s</code>).</p><ul class="at-tags"><li class="before"><span class="at-tag">before</span> <span class="value">4.03</span> <p>Physical equality was not ensured.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-singleton"><a href="#val-singleton" class="anchor"></a><code><span><span class="keyword">val</span> singleton : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>singleton x</code> returns the one-element set containing only <code>x</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-elt">elt</a> <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>remove x s</code> returns a set containing all elements of <code>s</code>, except <code>x</code>. If <code>x</code> was not in <code>s</code>, <code>s</code> is returned unchanged (the result of the function is then physically equal to <code>s</code>).</p><ul class="at-tags"><li class="before"><span class="at-tag">before</span> <span class="value">4.03</span> <p>Physical equality was not ensured.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-union"><a href="#val-union" class="anchor"></a><code><span><span class="keyword">val</span> union : <span><a href="#type-t">t</a> <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>Set union.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-inter"><a href="#val-inter" class="anchor"></a><code><span><span class="keyword">val</span> inter : <span><a href="#type-t">t</a> <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>Set intersection.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-disjoint"><a href="#val-disjoint" class="anchor"></a><code><span><span class="keyword">val</span> disjoint : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Test if two sets are disjoint.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.08.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-diff"><a href="#val-diff" class="anchor"></a><code><span><span class="keyword">val</span> diff : <span><a href="#type-t">t</a> <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>Set difference: <code>diff s1 s2</code> contains the elements of <code>s1</code> that are not in <code>s2</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compare"><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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Total ordering between sets. Can be used as the ordering function for doing sets of sets.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><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">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>equal s1 s2</code> tests whether the sets <code>s1</code> and <code>s2</code> are equal, that is, contain equal elements.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-subset"><a href="#val-subset" class="anchor"></a><code><span><span class="keyword">val</span> subset : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>subset s1 s2</code> tests whether the set <code>s1</code> is a subset of the set <code>s2</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>iter f s</code> applies <code>f</code> in turn to all elements of <code>s</code>. The elements of <code>s</code> are presented to <code>f</code> in increasing order with respect to the ordering over the type of the elements.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map"><a href="#val-map" class="anchor"></a><code><span><span class="keyword">val</span> map : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</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>map f s</code> is the set whose elements are <code>f a0</code>,<code>f a1</code>... <code>f
|
||
aN</code>, where <code>a0</code>,<code>a1</code>...<code>aN</code> are the elements of <code>s</code>.</p><p>The elements are passed to <code>f</code> in increasing order with respect to the ordering over the type of the elements.</p><p>If no element of <code>s</code> is changed by <code>f</code>, <code>s</code> is returned unchanged. (If each output of <code>f</code> is physically equal to its input, the returned set is physically equal to <code>s</code>.)</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.04.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</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> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><code>fold f s init</code> computes <code>(f xN ... (f x2 (f x1 init))...)</code>, where <code>x1 ... xN</code> are the elements of <code>s</code>, in increasing order.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-for_all"><a href="#val-for_all" class="anchor"></a><code><span><span class="keyword">val</span> for_all : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>for_all f s</code> checks if all elements of the set satisfy the predicate <code>f</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-exists"><a href="#val-exists" class="anchor"></a><code><span><span class="keyword">val</span> exists : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>exists f s</code> checks if at least one element of the set satisfies the predicate <code>f</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span><span class="keyword">val</span> filter : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</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>filter f s</code> returns the set of all elements in <code>s</code> that satisfy predicate <code>f</code>. If <code>f</code> satisfies every element in <code>s</code>, <code>s</code> is returned unchanged (the result of the function is then physically equal to <code>s</code>).</p><ul class="at-tags"><li class="before"><span class="at-tag">before</span> <span class="value">4.03</span> <p>Physical equality was not ensured.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><code><span><span class="keyword">val</span> filter_map : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span>)</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>filter_map f s</code> returns the set of all <code>v</code> such that <code>f x = Some v</code> for some element <code>x</code> of <code>s</code>.</p><p>For example,</p><pre class="language-ocaml"><code>filter_map (fun n -> if n mod 2 = 0 then Some (n / 2) else None) s</code></pre><p>is the set of halves of the even elements of <code>s</code>.</p><p>If no element of <code>s</code> is changed or dropped by <code>f</code> (if <code>f x = Some x</code> for each element <code>x</code>), then <code>s</code> is returned unchanged: the result of the function is then physically equal to <code>s</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.11.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-partition"><a href="#val-partition" class="anchor"></a><code><span><span class="keyword">val</span> partition : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a> * <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>partition f s</code> returns a pair of sets <code>(s1, s2)</code>, where <code>s1</code> is the set of all the elements of <code>s</code> that satisfy the predicate <code>f</code>, and <code>s2</code> is the set of all the elements of <code>s</code> that do not satisfy <code>f</code>.</p></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>Return the number of elements of a set.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-elements"><a href="#val-elements" class="anchor"></a><code><span><span class="keyword">val</span> elements : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> list</span></span></code></div><div class="spec-doc"><p>Return the list of all elements of the given set. The returned list is sorted in increasing order with respect to the ordering <code>Ord.compare</code>, where <code>Ord</code> is the argument given to <a href="../../../ocaml/Stdlib/Set/Make/index.html"><code>Stdlib.Set.Make</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-min_elt"><a href="#val-min_elt" class="anchor"></a><code><span><span class="keyword">val</span> min_elt : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p>Return the smallest element of the given set (with respect to the <code>Ord.compare</code> ordering), or raise <code>Not_found</code> if the set is empty.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max_elt"><a href="#val-max_elt" class="anchor"></a><code><span><span class="keyword">val</span> max_elt : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p>Same as <a href="#val-min_elt"><code>min_elt</code></a>, but returns the largest element of the given set.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-choose"><a href="#val-choose" class="anchor"></a><code><span><span class="keyword">val</span> choose : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p>Return one element of the given set, or raise <code>Not_found</code> if the set is empty. Which element is chosen is unspecified, but equal elements will be chosen for equal sets.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-split"><a href="#val-split" class="anchor"></a><code><span><span class="keyword">val</span> split : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a> * bool * <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>split x s</code> returns a triple <code>(l, present, r)</code>, where <code>l</code> is the set of elements of <code>s</code> that are strictly less than <code>x</code>; <code>r</code> is the set of elements of <code>s</code> that are strictly greater than <code>x</code>; <code>present</code> is <code>false</code> if <code>s</code> contains no element equal to <code>x</code>, or <code>true</code> if <code>s</code> contains an element equal to <code>x</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find"><a href="#val-find" class="anchor"></a><code><span><span class="keyword">val</span> find : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p><code>find x s</code> returns the element of <code>s</code> equal to <code>x</code> (according to <code>Ord.compare</code>), or raise <code>Not_found</code> if no such element exists.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.01.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_list"><a href="#val-of_list" class="anchor"></a><code><span><span class="keyword">val</span> of_list : <span><span><a href="#type-elt">elt</a> list</span> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_list l</code> creates a set from a list of elements. This is usually more efficient than folding <code>add</code> over the list, except perhaps for lists with many duplicated elements.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.02.0</li></ul></div></div><h2 id="iterators"><a href="#iterators" class="anchor"></a>Iterators</h2><div class="odoc-spec"><div class="spec value anchored" id="val-to_seq_from"><a href="#val-to_seq_from" class="anchor"></a><code><span><span class="keyword">val</span> to_seq_from : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span></span></code></div><div class="spec-doc"><p><code>to_seq_from x s</code> iterates on a subset of the elements of <code>s</code> in ascending order, from <code>x</code> or above.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.07</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><code><span><span class="keyword">val</span> to_seq : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span></span></code></div><div class="spec-doc"><p>Iterate on the whole set, in ascending order</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.07</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_rev_seq"><a href="#val-to_rev_seq" class="anchor"></a><code><span><span class="keyword">val</span> to_rev_seq : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span></span></code></div><div class="spec-doc"><p>Iterate on the whole set, in descending order</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.12</li></ul></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-min_elt_opt"><a href="#val-min_elt_opt" class="anchor"></a><code><span><span class="keyword">val</span> min_elt_opt : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-min_elt"><code>min_elt</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max_elt_opt"><a href="#val-max_elt_opt" class="anchor"></a><code><span><span class="keyword">val</span> max_elt_opt : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-max_elt"><code>max_elt</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-choose_opt"><a href="#val-choose_opt" class="anchor"></a><code><span><span class="keyword">val</span> choose_opt : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-choose"><code>choose</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_opt"><a href="#val-find_opt" class="anchor"></a><code><span><span class="keyword">val</span> find_opt : <span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-find"><code>find</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_first"><a href="#val-find_first" class="anchor"></a><code><span><span class="keyword">val</span> find_first : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p>Find minimum element satisfying predicate.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_first_opt"><a href="#val-find_first_opt" class="anchor"></a><code><span><span class="keyword">val</span> find_first_opt : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-find_first"><code>find_first</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_first_map"><a href="#val-find_first_map" class="anchor"></a><code><span><span class="keyword">val</span> find_first_map : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span>)</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>find_first_map f s</code> find the minimum element <code>x</code> of <code>s</code> such that <code>f x = Some y</code> and return <code>Some y</code>. Otherwise returns <code>None</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_last"><a href="#val-find_last" class="anchor"></a><code><span><span class="keyword">val</span> find_last : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-elt">elt</a></span></code></div><div class="spec-doc"><p>Find maximum element satisfying predicate.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_last_opt"><a href="#val-find_last_opt" class="anchor"></a><code><span><span class="keyword">val</span> find_last_opt : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> bool)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> option</span></span></code></div><div class="spec-doc"><p>Safe version of <a href="#val-find_last"><code>find_last</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.5</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_last_map"><a href="#val-find_last_map" class="anchor"></a><code><span><span class="keyword">val</span> find_last_map : <span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> option</span>)</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>find_last_map f s</code> find the maximum element <code>x</code> of <code>s</code> such that <code>f x = Some y</code> and return <code>Some y</code>. Otherwise returns <code>None</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> NEXT_RELEASE</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_iter"><a href="#val-of_iter" class="anchor"></a><code><span><span class="keyword">val</span> of_iter : <span><span><a href="#type-elt">elt</a> <a href="../index.html#type-iter">iter</a></span> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Build a set from the given <code>iter</code> of elements.</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 anchored" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><code><span><span class="keyword">val</span> of_seq : <span><span><a href="#type-elt">elt</a> <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Build a set from the given <code>seq</code> of elements.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_iter"><a href="#val-add_iter" class="anchor"></a><code><span><span class="keyword">val</span> add_iter : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><span><a href="#type-elt">elt</a> <a href="../index.html#type-iter">iter</a></span> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><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 anchored" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><code><span><span class="keyword">val</span> add_seq : <span><span><a href="#type-elt">elt</a> <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</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"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 3.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_iter"><a href="#val-to_iter" class="anchor"></a><code><span><span class="keyword">val</span> to_iter : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> <a href="../index.html#type-iter">iter</a></span></span></code></div><div class="spec-doc"><p><code>to_iter t</code> converts the set <code>t</code> to a <code>iter</code> of the elements.</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 anchored" id="val-add_list"><a href="#val-add_list" class="anchor"></a><code><span><span class="keyword">val</span> add_list : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><span><a href="#type-elt">elt</a> list</span> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.14</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_list"><a href="#val-to_list" class="anchor"></a><code><span><span class="keyword">val</span> to_list : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-elt">elt</a> list</span></span></code></div><div class="spec-doc"><p><code>to_list t</code> converts the set <code>t</code> to a list of the elements.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_string"><a href="#val-to_string" class="anchor"></a><code><span><span class="keyword">val</span> to_string :
|
||
<span>?start:string <span class="arrow">-></span></span>
|
||
<span>?stop:string <span class="arrow">-></span></span>
|
||
<span>?sep:string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="#type-elt">elt</a> <span class="arrow">-></span></span> string)</span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-t">t</a> <span class="arrow">-></span></span>
|
||
string</span></code></div><div class="spec-doc"><p>Print the set in a string</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.7</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp :
|
||
<span>?pp_start:<span>unit <a href="../index.html#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span>?pp_stop:<span>unit <a href="../index.html#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span>?pp_sep:<span>unit <a href="../index.html#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span><a href="#type-elt">elt</a> <a href="../index.html#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-t">t</a> <a href="../index.html#type-printer">printer</a></span></span></code></div><div class="spec-doc"><p>Print the set.</p></div></div></div></body></html> |