Module Flow_set.Make

Parameters

Signature

type elt = Ord.t;
type t;
let empty: t;
let is_empty: t => bool;
let mem: elt => t => bool;
let add: elt => t => t;
let singleton: elt => t;
let remove: elt => t => t;
let union: t => t => t;
let inter: t => t => t;
let disjoint: t => t => bool;
let diff: t => t => t;
let compare: t => t => int;
let equal: t => t => bool;
let subset: t => t => bool;
let iter: (elt => unit) => t => unit;
let map: (elt => elt) => t => t;
let fold: (elt => 'a => 'a) => t => 'a => 'a;
let for_all: (elt => bool) => t => bool;
let exists: (elt => bool) => t => bool;
let filter: (elt => bool) => t => t;
let partition: (elt => bool) => t => (t, t);
let cardinal: t => int;
let elements: t => list(elt);
let min_elt: t => elt;
let min_elt_opt: t => option(elt);
let max_elt: t => elt;
let max_elt_opt: t => option(elt);
let choose: t => elt;
let choose_opt: t => option(elt);
let find: elt => t => elt;
let find_opt: elt => t => option(elt);
let to_seq: t => Seq.t(elt);
let of_list: list(elt) => t;
let make_pp: (Format.formatter => elt => unit) => Format.formatter => t => unit;
let of_increasing_iterator_unchecked: (unit => elt) => int => t;
let of_sorted_array_unchecked: array(elt) => t;
let find_first_opt: (elt => bool) => t => option(elt);