package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a t = 'a Base.Hash_set.t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t

We use [@@deriving sexp_of] but not [@@deriving sexp] because we want people to be explicit about the hash and comparison functions used when creating hashtables. One can use Hash_set.Poly.t, which does have [@@deriving sexp], to use polymorphic comparison and hashing.

include Base.Hash_set.Creators with type 'a t := 'a t
val create : ?growth_allowed:bool -> ?size:int -> 'a Base__Hash_set_intf.Key.t -> 'a t
val of_list : ?growth_allowed:bool -> ?size:int -> 'a Base__Hash_set_intf.Key.t -> 'a list -> 'a t
include Base.Hash_set.Accessors with type 'a t := 'a t with type 'a elt := 'a Base.Hash_set.elt
val length : 'a t -> int
val is_empty : 'a t -> bool
val iter : 'a t -> f:('a Base.Hash_set.elt -> unit) -> unit
val fold : 'a t -> init:'accum -> f:('accum -> 'a Base.Hash_set.elt -> 'accum) -> 'accum
val fold_result : 'a t -> init:'accum -> f:('accum -> 'a Base.Hash_set.elt -> ('accum, 'e) Base__.Result.t) -> ('accum, 'e) Base__.Result.t
val fold_until : 'a t -> init:'accum -> f: ('accum -> 'a Base.Hash_set.elt -> ('accum, 'final) Base__Container_intf.Continue_or_stop.t) -> finish:('accum -> 'final) -> 'final
val exists : 'a t -> f:('a Base.Hash_set.elt -> bool) -> bool
val for_all : 'a t -> f:('a Base.Hash_set.elt -> bool) -> bool
val count : 'a t -> f:('a Base.Hash_set.elt -> bool) -> int
val sum : (module Base__Container_intf.Summable with type t = 'sum) -> 'a t -> f:('a Base.Hash_set.elt -> 'sum) -> 'sum
val find : 'a t -> f:('a Base.Hash_set.elt -> bool) -> 'a Base.Hash_set.elt option
val find_map : 'a t -> f:('a Base.Hash_set.elt -> 'b option) -> 'b option
val to_list : 'a t -> 'a Base.Hash_set.elt list
val to_array : 'a t -> 'a Base.Hash_set.elt array
val min_elt : 'a t -> compare:('a Base.Hash_set.elt -> 'a Base.Hash_set.elt -> int) -> 'a Base.Hash_set.elt option
val max_elt : 'a t -> compare:('a Base.Hash_set.elt -> 'a Base.Hash_set.elt -> int) -> 'a Base.Hash_set.elt option
val mem : 'a t -> 'a -> bool
val copy : 'a t -> 'a t
val add : 'a t -> 'a -> unit
val strict_add : 'a t -> 'a -> unit Base__.Or_error.t
val strict_add_exn : 'a t -> 'a -> unit
val remove : 'a t -> 'a -> unit
val strict_remove : 'a t -> 'a -> unit Base__.Or_error.t
val strict_remove_exn : 'a t -> 'a -> unit
val clear : 'a t -> unit
val equal : 'a t -> 'a t -> bool
val filter : 'a t -> f:('a -> bool) -> 'a t
val filter_inplace : 'a t -> f:('a -> bool) -> unit
val inter : 'key t -> 'key t -> 'key t
val union : 'a t -> 'a t -> 'a t
val diff : 'a t -> 'a t -> 'a t
val of_hashtbl_keys : ('a, 'b) Base__.Hashtbl.t -> 'a t
val to_hashtbl : 'key t -> f:('key -> 'data) -> ('key, 'data) Base__.Hashtbl.t
val hashable : 'key t -> 'key Core__.Hashtbl.Hashable.t
module type Elt_plain = Hashtbl.Key_plain
module type Elt = Hashtbl.Key
module type Elt_binable = Hashtbl.Key_binable
module type S_plain = sig ... end
module type S = sig ... end
module type S_binable = sig ... end
module Using_hashable : sig ... end
module Poly : sig ... end

A hash set that uses polymorphic comparison.

module Make_plain (Elt : Elt_plain) : S_plain with type elt = Elt.t
module Make (Elt : Elt) : S with type elt = Elt.t
module Make_binable (Elt : Elt_binable) : S_binable with type elt = Elt.t
module Make_plain_with_hashable (T : sig ... end) : S_plain with type elt = T.Elt.t
module Make_with_hashable (T : sig ... end) : S with type elt = T.Elt.t
module Make_binable_with_hashable (T : sig ... end) : S_binable with type elt = T.Elt.t
include Base.Hash_set.For_deriving with type 'a t := 'a t
module type M_of_sexp = sig ... end
module type Sexp_of_m = sig ... end
module type Equal_m = sig ... end
module M (Elt : sig ... end) : sig ... end
val sexp_of_m__t : (module Sexp_of_m with type t = 'elt) -> 'elt t -> Base__.Sexp.t
val m__t_of_sexp : (module M_of_sexp with type t = 'elt) -> Base__.Sexp.t -> 'elt t
val m__t_sexp_grammar : (module Base__Hash_set_intf.M_sexp_grammar with type t = 'elt) -> 'elt t Sexplib0.Sexp_grammar.t
val equal_m__t : (module Equal_m) -> 'elt t -> 'elt t -> bool
module type M_quickcheck = sig ... end
val quickcheck_generator_m__t : (module M_quickcheck with type t = 'key) -> 'key t Base_quickcheck.Generator.t
val quickcheck_observer_m__t : (module M_quickcheck with type t = 'key) -> 'key t Base_quickcheck.Observer.t
val quickcheck_shrinker_m__t : (module M_quickcheck with type t = 'key) -> 'key t Base_quickcheck.Shrinker.t
OCaml

Innovation. Community. Security.