Date.SetSourceinclude Set_intf.S with module Elt := Elt and module Diff := Diffinclude Set_intf.S_plain with module Elt := Elt and module Diff := Diffinclude Diffable.S_plain with type t := t and module Diff := Diffinclude Set_intf.Creators_generic
with type ('a, 'b) set := ('a, 'b) Base.Set.t
with type ('a, 'b) t := t
with type ('a, 'b) tree :=
(Elt.t, Elt.comparator_witness) Base.Set.Using_comparator.Tree.t
with type 'a elt := Elt.t
with type 'c cmp := Elt.comparator_witness
with type ('a, 'b, 'c) create_options :=
('a, 'b, 'c) Base.Set.Without_comparator.tinclude Base.Set.Creators_generic
with type ('a, 'b) set := ('a, 'b) Base.Set.t
with type ('a, 'b) t := t
with type ('a, 'b) tree :=
(Elt.t, Elt.comparator_witness) Base.Set.Using_comparator.Tree.t
with type 'a elt := Elt.t
with type 'c cmp := Elt.comparator_witness
with type ('a, 'b, 'c) create_options :=
('a, 'b, 'c) Base.Set.Without_comparator.tval of_sorted_array :
('a, 'cmp, Elt.t array -> t Base.Or_error.t) Base.Set.Without_comparator.tval of_increasing_iterator_unchecked :
('a, 'cmp, len:int -> f:(int -> Elt.t) -> t) Base.Set.Without_comparator.tval map :
('b, 'cmp, ('a, _) Base.Set.t -> f:('a -> Elt.t) -> t)
Base.Set.Without_comparator.tThe types of map and filter_map are subtle. The input set, ('a, _) set, reflects the fact that these functions take a set of *any* type, with any comparator, while the output set, ('b, 'cmp) t, reflects that the output set has the particular 'cmp of the creation function. The comparator can come in one of three ways, depending on which set module is used
Set.map -- comparator comes as an argumentSet.Poly.map -- comparator is polymorphic comparisonFoo.Set.map -- comparator is Foo.comparatorval filter_map :
('b, 'cmp, ('a, _) Base.Set.t -> f:('a -> Elt.t option) -> t)
Base.Set.Without_comparator.tval of_tree :
('a,
'cmp,
(Elt.t, Elt.comparator_witness) Base.Set.Using_comparator.Tree.t ->
t)
Base.Set.Without_comparator.tNever requires a comparator because it can get one from the input Map.t.
val quickcheck_generator :
('a, 'cmp, Elt.t Quickcheck.Generator.t -> t Quickcheck.Generator.t)
Base.Set.Without_comparator.tinclude Set_intf.Binable.S with type t := tinclude Bin_prot.Binable.S_only_functions with type t := tThis function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.