sig
module Elt : Comparator.S
type t = (Elt.t, Elt.comparator) t
val sexp_of_t : t -> Sexplib.Sexp.t
val t_of_sexp : Sexplib.Sexp.t -> t
type ('a, 'comparator) t_ = t
type ('a, 'comparator) tree
type 'a elt_ = Elt.t
val empty :
('a, 'comparator, ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val singleton :
('a, 'comparator, 'a elt_ -> ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val union_list :
('a, 'comparator, ('a, 'comparator) t_ list -> ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val of_list :
('a, 'comparator, 'a elt_ list -> ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val of_array :
('a, 'comparator, 'a elt_ array -> ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val stable_dedup_list :
('a, 'b, 'a elt_ list -> 'a elt_ list)
Core_set_intf.create_options_without_comparator
val map :
('b, 'comparator,
('a, 'c) t -> f:('a -> 'b elt_) -> ('b, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val filter_map :
('b, 'comparator,
('a, 'c) t -> f:('a -> 'b elt_ option) -> ('b, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val of_tree :
('a, 'comparator, ('a elt_, 'comparator) tree -> ('a, 'comparator) t_)
Core_set_intf.create_options_without_comparator
val length : ('a, 'b) t_ -> int
val is_empty : ('a, 'b) t_ -> bool
val iter : ('a, 'b) t_ -> f:('a elt_ -> unit) -> unit
val fold :
('a, 'b) t_ -> init:'accum -> f:('accum -> 'a elt_ -> 'accum) -> 'accum
val exists : ('a, 'b) t_ -> f:('a elt_ -> bool) -> bool
val for_all : ('a, 'b) t_ -> f:('a elt_ -> bool) -> bool
val count : ('a, 'b) t_ -> f:('a elt_ -> bool) -> int
val find : ('a, 'b) t_ -> f:('a elt_ -> bool) -> 'a elt_ option
val find_map : ('a, 'c) t_ -> f:('a elt_ -> 'b option) -> 'b option
val to_list : ('a, 'b) t_ -> 'a elt_ list
val to_array : ('a, 'b) t_ -> 'a elt_ array
val mem : ('a, 'b) t_ -> 'a elt_ -> bool
val add : ('a, 'comparator) t_ -> 'a elt_ -> ('a, 'comparator) t_
val remove : ('a, 'comparator) t_ -> 'a elt_ -> ('a, 'comparator) t_
val union :
('a, 'comparator) t_ -> ('a, 'comparator) t_ -> ('a, 'comparator) t_
val inter :
('a, 'comparator) t_ -> ('a, 'comparator) t_ -> ('a, 'comparator) t_
val diff :
('a, 'comparator) t_ -> ('a, 'comparator) t_ -> ('a, 'comparator) t_
val compare : ('a, 'comparator) t_ -> ('a, 'comparator) t_ -> int
val equal : ('a, 'comparator) t_ -> ('a, 'comparator) t_ -> bool
val subset : ('a, 'comparator) t_ -> ('a, 'comparator) t_ -> bool
val fold_until :
('a, 'c) t_ ->
init:'b -> f:('b -> 'a elt_ -> [ `Continue of 'b | `Stop of 'b ]) -> 'b
val fold_right : ('a, 'c) t_ -> init:'b -> f:('a elt_ -> 'b -> 'b) -> 'b
val filter :
('a, 'comparator) t_ -> f:('a elt_ -> bool) -> ('a, 'comparator) t_
val partition_tf :
('a, 'comparator) t_ ->
f:('a elt_ -> bool) -> ('a, 'comparator) t_ * ('a, 'comparator) t_
val elements : ('a, 'b) t_ -> 'a elt_ list
val min_elt : ('a, 'b) t_ -> 'a elt_ option
val min_elt_exn : ('a, 'b) t_ -> 'a elt_
val max_elt : ('a, 'b) t_ -> 'a elt_ option
val max_elt_exn : ('a, 'b) t_ -> 'a elt_
val choose : ('a, 'b) t_ -> 'a elt_ option
val choose_exn : ('a, 'b) t_ -> 'a elt_
val split :
('a, 'comparator) t_ ->
'a elt_ -> ('a, 'comparator) t_ * bool * ('a, 'comparator) t_
val group_by :
('a, 'comparator) t_ ->
equiv:('a elt_ -> 'a elt_ -> bool) -> ('a, 'comparator) t_ list
val find_exn : ('a, 'b) t_ -> f:('a elt_ -> bool) -> 'a elt_
val find_index : ('a, 'b) t_ -> int -> 'a elt_ option
val remove_index : ('a, 'comparator) t_ -> int -> ('a, 'comparator) t_
val to_tree : ('a, 'comparator) t_ -> ('a elt_, 'comparator) tree
end