Using comparator is a similar interface as the toplevel of Set, except the functions
take a ~comparator:('elt, 'cmp) Comparator.t where the functions at the toplevel of
Set takes a ('elt, 'cmp) comparator.
include sig ... endval sexp_of_t : ('elt ‑> Base.Sexp.t) ‑> ('cmp ‑> Base.Sexp.t) ‑> ('elt, 'cmp) t ‑> Base.Sexp.tval t_of_sexp_direct : comparator:('elt, 'cmp) Base.Comparator.t ‑> (Base.Sexp.t ‑> 'elt) ‑> Base.Sexp.t ‑> ('elt, 'cmp) tmodule Tree : sig ... endinclude Base__.Set_intf.Accessors2 with type (a, b) t := (a, b) t with type (a, b) tree := (a, b) Tree.t with type (a, b) named := (a, b) Named.tinclude Base.Container.S1_phantom_invariantval mem : ('a, _) t ‑> 'a ‑> equal:('a ‑> 'a ‑> bool) ‑> boolChecks whether the provided element is there, using equal.
val length : (_, _) t ‑> intval is_empty : (_, _) t ‑> boolval iter : ('a, _) t ‑> f:('a ‑> unit) ‑> unitval fold : ('a, _) t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> 'accum) ‑> 'accumfold t ~init ~f returns f (... f (f (f init e1) e2) e3 ...) en, where e1..en
are the elements of t.
val fold_result : ('a, _) t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> ('accum, 'e) Base.Result.t) ‑> ('accum, 'e) Base.Result.tfold_result t ~init ~f is a short-circuiting version of fold that runs in the
Result monad. If f returns an Error _, that value is returned without any
additional invocations of f.
val fold_until : ('a, _) t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> ('accum, 'final) Base__.Container_intf.Continue_or_stop.t) ‑> finish:('accum ‑> 'final) ‑> 'finalfold_until t ~init ~f ~finish is a short-circuiting version of fold. If f
returns Stop _ the computation ceases and results in that value. If f returns
Continue _, the fold will proceed. If f never returns Stop _, the final result
is computed by finish.
val exists : ('a, _) t ‑> f:('a ‑> bool) ‑> boolReturns true if and only if there exists an element for which the provided
function evaluates to true. This is a short-circuiting operation.
val for_all : ('a, _) t ‑> f:('a ‑> bool) ‑> boolReturns true if and only if the provided function evaluates to true for all
elements. This is a short-circuiting operation.
val count : ('a, _) t ‑> f:('a ‑> bool) ‑> intReturns the number of elements for which the provided function evaluates to true.
val sum : (module Base.Commutative_group.S with type t = 'sum) ‑> ('a, _) t ‑> f:('a ‑> 'sum) ‑> 'sumReturns the sum of f i for all i in the container.
val find : ('a, _) t ‑> f:('a ‑> bool) ‑> 'a optionReturns as an option the first element for which f evaluates to true.
val find_map : ('a, _) t ‑> f:('a ‑> 'b option) ‑> 'b optionReturns the first evaluation of f that returns Some, and returns None if there
is no such element.
val to_list : ('a, _) t ‑> 'a listval to_array : ('a, _) t ‑> 'a arrayval min_elt : ('a, _) t ‑> compare:('a ‑> 'a ‑> int) ‑> 'a optionReturns a min (resp max) element from the collection using the provided compare
function. In case of a tie, the first element encountered while traversing the
collection is returned. The implementation uses fold so it has the same complexity
as fold. Returns None iff the collection is empty.
val max_elt : ('a, _) t ‑> compare:('a ‑> 'a ‑> int) ‑> 'a optionval invariants : (_, _) t ‑> boolval mem : ('a, _) t ‑> 'a ‑> boolval symmetric_diff : ('a, 'cmp) t ‑> ('a, 'cmp) t ‑> ('a, 'a) Base.Either.t Base.Sequence.tmodule Named : sig ... endval fold_until : ('a, _) t ‑> init:'b ‑> f:('b ‑> 'a ‑> ('b, 'final) Base__.Set_intf.Continue_or_stop.t) ‑> finish:('b ‑> 'final) ‑> 'finalval fold_right : ('a, _) t ‑> init:'b ‑> f:('a ‑> 'b ‑> 'b) ‑> 'bval elements : ('a, _) t ‑> 'a listval min_elt : ('a, _) t ‑> 'a optionval min_elt_exn : ('a, _) t ‑> 'aval max_elt : ('a, _) t ‑> 'a optionval max_elt_exn : ('a, _) t ‑> 'aval choose : ('a, _) t ‑> 'a optionval choose_exn : ('a, _) t ‑> 'aval find_exn : ('a, _) t ‑> f:('a ‑> bool) ‑> 'aval nth : ('a, _) t ‑> int ‑> 'a optionval to_sequence : ?order:[ `Increasing | `Decreasing ] ‑> ?greater_or_equal_to:'a ‑> ?less_or_equal_to:'a ‑> ('a, 'cmp) t ‑> 'a Base.Sequence.tval merge_to_sequence : ?order:[ `Increasing | `Decreasing ] ‑> ?greater_or_equal_to:'a ‑> ?less_or_equal_to:'a ‑> ('a, 'cmp) t ‑> ('a, 'cmp) t ‑> ('a, 'a) Base__.Set_intf.Merge_to_sequence_element.t Base.Sequence.tinclude Base__.Set_intf.Creators2_with_comparator with type (a, b) t := (a, b) t with type (a, b) tree := (a, b) Tree.t with type (a, b) set := (a, b) tval empty : comparator:('a, 'cmp) Base.Comparator.t ‑> ('a, 'cmp) tval singleton : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a ‑> ('a, 'cmp) tval union_list : comparator:('a, 'cmp) Base.Comparator.t ‑> ('a, 'cmp) t list ‑> ('a, 'cmp) tval of_list : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a list ‑> ('a, 'cmp) tval of_array : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a array ‑> ('a, 'cmp) tval of_sorted_array : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a array ‑> ('a, 'cmp) t Base.Or_error.tval of_sorted_array_unchecked : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a array ‑> ('a, 'cmp) tval of_increasing_iterator_unchecked : comparator:('a, 'cmp) Base.Comparator.t ‑> len:int ‑> f:(int ‑> 'a) ‑> ('a, 'cmp) tval stable_dedup_list : comparator:('a, 'cmp) Base.Comparator.t ‑> 'a list ‑> 'a listval map : comparator:('b, 'cmp) Base.Comparator.t ‑> ('a, _) set ‑> f:('a ‑> 'b) ‑> ('b, 'cmp) tval filter_map : comparator:('b, 'cmp) Base.Comparator.t ‑> ('a, _) set ‑> f:('a ‑> 'b option) ‑> ('b, 'cmp) tval of_tree : comparator:('a, 'cmp) Base.Comparator.t ‑> ('a, 'cmp) tree ‑> ('a, 'cmp) tval comparator : ('a, 'cmp) t ‑> ('a, 'cmp) Base.Comparator.tval hash_fold_direct : 'elt Base.Hash.folder ‑> ('elt, 'cmp) t Base.Hash.foldermodule Empty_without_value_restriction : functor (Elt : Base.Comparator.S1) -> sig ... end