Bigint.SetSourceinclude Core.Set_intf.S with module Elt := Eltinclude Core.Set_intf.S_plain with module Elt := Eltinclude Core.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 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 of_tree :
('a,
'cmp,
(Elt.t, Elt.comparator_witness) Base.Set.Using_comparator.Tree.t ->
t)
Base.Set.Without_comparator.tval of_hashtbl_keys :
('a, 'cmp, (Elt.t, _) Core.Hashtbl.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 Core.Quickcheck.Generator.t ->
t Core.Quickcheck.Generator.t)
Base.Set.Without_comparator.tinclude Core.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.