package core

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Set.PolySource

Sourcemodule Tree : sig ... end
include Bin_prot.Binable.S1 with type 'elt t := 'elt t
Sourceval bin_size_t : ('a, 'a t) Bin_prot.Size.sizer1
Sourceval bin_write_t : ('a, 'a t) Bin_prot.Write.writer1
Sourceval bin_read_t : ('a, 'a t) Bin_prot.Read.reader1
Sourceval __bin_read_t__ : ('a, int -> 'a t) Bin_prot.Read.reader1
Sourceval bin_writer_t : ('a, 'a t) Bin_prot.Type_class.S1.writer
Sourceval bin_reader_t : ('a, 'a t) Bin_prot.Type_class.S1.reader
Sourceval bin_t : ('a, 'a t) Bin_prot.Type_class.S1.t
include Ppx_compare_lib.Comparable.S1 with type 'elt t := 'elt t
Sourceval compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
include Sexplib0.Sexpable.S1 with type 'elt t := 'elt t
Sourceval t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t
Sourceval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
Sourceval t_sexp_grammar : 'elt Sexplib0.Sexp_grammar.t -> 'elt t Sexplib0.Sexp_grammar.t
include Set_intf.Creators_generic with type ('a, 'b) set := ('a, 'b) t with type ('elt, 'cmp) t := 'elt t with type ('elt, 'cmp) tree := 'elt Tree.t with type 'c cmp := Base.Comparator.Poly.comparator_witness with type 'a elt := 'a 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) t with type ('elt, 'cmp) t := 'elt t with type ('elt, 'cmp) tree := 'elt Tree.t with type 'c cmp := Base.Comparator.Poly.comparator_witness with type 'a elt := 'a with type ('a, 'b, 'c) create_options := ('a, 'b, 'c) Base.Set.Without_comparator.t
Sourceval empty : ('a, 'cmp, 'a t) Base.Set.Without_comparator.t
Sourceval singleton : ('a, 'cmp, 'a -> 'a t) Base.Set.Without_comparator.t
Sourceval union_list : ('a, 'cmp, 'a t list -> 'a t) Base.Set.Without_comparator.t
Sourceval of_list : ('a, 'cmp, 'a list -> 'a t) Base.Set.Without_comparator.t
Sourceval of_sequence : ('a, 'cmp, 'a Base.Sequence.t -> 'a t) Base.Set.Without_comparator.t
Sourceval of_array : ('a, 'cmp, 'a array -> 'a t) Base.Set.Without_comparator.t
Sourceval of_sorted_array : ('a, 'cmp, 'a array -> 'a t Base.Or_error.t) Base.Set.Without_comparator.t
Sourceval of_sorted_array_unchecked : ('a, 'cmp, 'a array -> 'a t) Base.Set.Without_comparator.t
Sourceval of_increasing_iterator_unchecked : ('a, 'cmp, len:int -> f:(int -> 'a) -> 'a t) Base.Set.Without_comparator.t
Sourceval stable_dedup_list : ('a, _, 'a list -> 'a list) Base.Set.Without_comparator.t
Sourceval map : ('b, 'cmp, ('a, _) t -> f:('a -> 'b) -> 'b 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, _) t -> f:('a -> 'b option) -> 'b t) Base.Set.Without_comparator.t
Sourceval of_tree : ('a, 'cmp, 'a Tree.t -> 'a t) Base.Set.Without_comparator.t
Sourceval of_hash_set : ('a, 'cmp, 'a Hash_set.t -> 'a t) Base.Set.Without_comparator.t
Sourceval of_hashtbl_keys : ('a, 'cmp, ('a, _) Hashtbl.t -> 'a t) Base.Set.Without_comparator.t

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