Module Bigint.SetSource

Sourcemodule Elt : sig ... end
Sourcemodule Diff : sig ... end
include Core.Set_intf.S__portable with module Elt := Elt and module Diff := Diff
include Core.Set_intf.S_plain__portable with module Elt := Elt and module Diff := Diff
include Ppx_compare_lib.Comparable.S with type t := t
Sourceval compare : t -> t -> int
include Ppx_compare_lib.Equal.S with type t := t
Sourceval equal : t -> t -> bool
include Ppx_compare_lib.Equal.S__local with type t := t
include Diffable.S_plain with type t := t and module Diff := Diff
include 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.t
include 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.t
Sourceval empty : ('a, 'cmp, t) Base.Set.Without_comparator.t
Sourceval singleton : ('a, 'cmp, Elt.t -> t) Base.Set.Without_comparator.t
Sourceval union_list : ('a, 'cmp, t list -> t) Base.Set.Without_comparator.t
Sourceval of_list : ('a, 'cmp, Elt.t list -> t) Base.Set.Without_comparator.t
Sourceval of_array : ('a, 'cmp, Elt.t array -> t) Base.Set.Without_comparator.t
Sourceval of_sorted_array : ('a, 'cmp, Elt.t array -> t Base.Or_error.t) Base.Set.Without_comparator.t
Sourceval of_sorted_array_unchecked : ('a, 'cmp, Elt.t array -> t) Base.Set.Without_comparator.t
Sourceval of_increasing_iterator_unchecked : ('a, 'cmp, len:int -> f:(int -> Elt.t) @ local -> t) Base.Set.Without_comparator.t
Sourceval map : ('b, 'cmp, ('a, _) Base.Set.t -> f:('a -> Elt.t) @ local -> t) Base.Set.Without_comparator.t

The 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 argument
  • Set.Poly.map -- comparator is polymorphic comparison
  • Foo.Set.map -- comparator is Foo.comparator
Sourceval filter_map : ('b, 'cmp, ('a, _) Base.Set.t -> f:('a -> Elt.t option) @ local -> t) Base.Set.Without_comparator.t
Sourceval of_hashtbl_keys : ('a, 'cmp, (Elt.t, _) Core.Hashtbl.t -> t) Base.Set.Without_comparator.t
Sourceval of_map_keys : (Elt.t, _, Elt.comparator_witness) Base.Map.t -> t

Never requires a comparator because it can get one from the input Map.t.

include Core.Sexpable.S with type t := t
include Sexplib0.Sexpable.Of_sexp with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
include Sexplib0.Sexpable.Sexp_of with type t := t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
include Bin_prot.Binable.S__local with type t := t
include Bin_prot.Binable.S_only_functions__local with type t := t
include sig ... end
Sourceval bin_size_t : t Bin_prot.Size.sizer
Sourceval bin_write_t : t Bin_prot.Write.writer
Sourceval bin_read_t : t Bin_prot.Read.reader
Sourceval __bin_read_t__ : t Bin_prot.Read.vtag_reader

This 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.

Sourceval bin_shape_t : Bin_prot.Shape.t