S.Internedinclude Immediate_kernel.S_no_optioninclude Core.Bin_prot.Binable.S__local with type t := tinclude Bin_prot.Binable.S_only_functions__local with type t := tinclude sig ... endinclude Ppx_compare_lib.Comparable.S with type t := tinclude Ppx_compare_lib.Comparable.S__local with type t := tinclude Ppx_compare_lib.Equal.S with type t := tinclude Ppx_compare_lib.Equal.S__local with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tinclude Typerep_lib.Typerepable.S with type t := tval typerep_of_t : t Typerep_lib.Std_internal.Typerep.t @@ portableval typename_of_t : t Typerep_lib.Typename.t @@ portableinclude Core.Identifiable.S with type t := tinclude Bin_prot.Binable.S with type t := tinclude Bin_prot.Binable.S_only_functions with type t := tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : t Bin_prot.Read.vtag_readerThis 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.
val bin_shape_t : Bin_prot.Shape.tval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.tinclude Ppx_hash_lib.Hashable.S_any with type t := tinclude Sexplib0.Sexpable.S with type t := tinclude Sexplib0.Sexpable.Of_sexp with type t := tinclude Sexplib0.Sexpable.Sexp_of with type t := tinclude Ppx_compare_lib.Comparable.S with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tinclude Base.Stringable.S with type t := tval of_string : string -> tinclude Base.Pretty_printer.S with type t := tval pp : Base.Formatter.t -> t -> unitinclude Core.Comparable.S_binable with type t := tinclude Base.Comparable.S with type t := tinclude Base.Comparisons.S with type t := tcompare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.
ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t -> min:t -> max:t -> t Base.Or_error.tinclude Base.Comparator.S with type t := tval validate_lbound : min:t Core.Maybe_bound.t -> t Validate.checkval validate_ubound : max:t Core.Maybe_bound.t -> t Validate.checkval validate_bound :
min:t Core.Maybe_bound.t ->
max:t Core.Maybe_bound.t ->
t Validate.checkmodule Replace_polymorphic_compare :
Base.Comparable.Comparisons with type t := tinclude Core.Comparator.S
with type t := t
with type comparator_witness := comparator_witnessval comparator : (t, comparator_witness) Base.Comparator.T.comparatormodule Map :
Core.Map.S_binable
with type Key.t = t
with type Key.comparator_witness = comparator_witnessmodule Set :
Core.Set.S_binable
with type Elt.t = t
with type Elt.comparator_witness = comparator_witnessinclude Core.Hashable.S_binable with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tval hash_fold_t : t Ppx_hash_lib.hash_foldval hash : t -> Ppx_hash_lib.Std.Hash.hash_valueval hashable : t Base.Hashable.tmodule Table : Core.Hashtbl.S_binable with type key = tmodule Hash_set : Core.Hash_set.S_binable with type elt = tmodule Hash_queue : Core.Hash_queue.S with type key = tinclude Core.Quickcheckable with type t := tval quickcheck_generator : t Base_quickcheck.Generator.tval quickcheck_observer : t Base_quickcheck.Observer.tval quickcheck_shrinker : t Base_quickcheck.Shrinker.tinclude Core.Sexpable.S_with_grammar with type t := tinclude Sexplib0.Sexpable.S with type t := tinclude Sexplib0.Sexpable.Of_sexp with type t := tval t_of_sexp : Sexplib0.Sexp.t -> tinclude Sexplib0.Sexpable.Sexp_of with type t := tval sexp_of_t : t -> Sexplib0.Sexp.tval t_sexp_grammar : t Sexplib0.Sexp_grammar.t @@ portablemodule Lexicographic : Core.Identifiable.S_not_binable with type t = tLexicographic.compare x y = String.compare (to_string x) (to_string y)
val empty : tval unsafe_of_bigstring : pos:int -> len:int -> Core.Bigstring.t @ local -> tval of_iobuf_consume :
?len:int @ local ->
(([> Core.read ], Iobuf.seek, _) Iobuf.t @ local ->
t) @ localval to_iobuf_poke :
t ->
?pos:int @ local ->
((Core.read_write, _, _) Iobuf.t @ local ->
unit) @ localval to_iobuf_fill :
t ->
(Core.read_write, Iobuf.seek, _) Iobuf.t @ local ->
unitmodule Padded : sig ... endWARNING: using the padded functions to convert to a bigstring / iobuf will ignore ~len arguments that are less than the length of the source t!
val unsafe_get : t -> int -> charval unsafe_of_iobuf_consume :
len:int ->
([> Core.read ], Iobuf.seek, _) Iobuf.t @ local ->
tval unsafe_to_iobuf_poke :
t ->
pos:int ->
(Core.read_write, _, _) Iobuf.t @ local ->
unitval unsafe_to_iobuf_fill :
t ->
(Core.read_write, Iobuf.seek, _) Iobuf.t @ local ->
unitval unsafe_to_bigstring : t -> pos:int -> Core.Bigstring.t @ local -> unitval length : t -> intval get : t -> int -> charval of_char : char -> tval mem : t -> char -> boolval unsafe_to_int : t -> intval unsafe_of_int : int -> tval is_empty : t -> boolmodule Stats : sig ... endgrow_by n ensures that the intern table can hold at least n additional entries without resizing (again). This is useful for applications which must not pause online for the (substantial) time required to rehash a large intern table.
val after_grow :
(before:Core.Time_ns.t -> len_before:int -> len:int -> unit) ->
unitafter_grow f registers a growth logger. f will be called immediately after every growth of the intern table, with the time and size before and the size after.
f would typically call Time_ns.now to learn the time after.
module Stable : sig ... endmodule Option : sig ... endval of_string_no_intern : string @ local -> Option.tval of_local_string : string @ local -> tval to_string : t -> string