package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include Sexplib0.Sexpable.S1 with type 'elt t := 'elt t
val t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
val 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) Tree.t with type ('elt, 'cmp) t := 'elt t with type ('elt, 'cmp) tree := 'elt 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) Tree.t with type ('elt, 'cmp) t := 'elt t with type ('elt, 'cmp) tree := 'elt 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
val empty : ('a, 'cmp, 'a t) Base.Set.Without_comparator.t
val singleton : ('a, 'cmp, 'a -> 'a t) Base.Set.Without_comparator.t
val union_list : ('a, 'cmp, 'a t list -> 'a t) Base.Set.Without_comparator.t
val of_list : ('a, 'cmp, 'a list -> 'a t) Base.Set.Without_comparator.t
val of_sequence : ('a, 'cmp, 'a Base.Sequence.t -> 'a t) Base.Set.Without_comparator.t
val of_array : ('a, 'cmp, 'a array -> 'a t) Base.Set.Without_comparator.t
val of_sorted_array : ('a, 'cmp, 'a array -> 'a t Base.Or_error.t) Base.Set.Without_comparator.t
val of_sorted_array_unchecked : ('a, 'cmp, 'a array -> 'a t) Base.Set.Without_comparator.t
val of_increasing_iterator_unchecked : ('a, 'cmp, len:int -> f:(int -> 'a) -> 'a t) Base.Set.Without_comparator.t
val stable_dedup_list : ('a, _, 'a list -> 'a list) Base.Set.Without_comparator.t
val map : ('b, 'cmp, ('a, _) Tree.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
val filter_map : ('b, 'cmp, ('a, _) Tree.t -> f:('a -> 'b option) -> 'b t) Base.Set.Without_comparator.t
val of_tree : ('a, 'cmp, 'a t -> 'a t) Base.Set.Without_comparator.t
val of_hash_set : ('a, 'cmp, 'a Hash_set.t -> 'a t) Base.Set.Without_comparator.t
val of_hashtbl_keys : ('a, 'cmp, ('a, _) Hashtbl.t -> 'a t) Base.Set.Without_comparator.t
val of_map_keys : ('a, _, Base.Comparator.Poly.comparator_witness) Base.Map.t -> 'a t

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

val quickcheck_generator : ('a, 'cmp, 'a Quickcheck.Generator.t -> 'a t Quickcheck.Generator.t) Base.Set.Without_comparator.t
OCaml

Innovation. Community. Security.