123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307moduletypeS=sigmoduleHashtbl=MoreLabels.Hashtbl(*
module Hashtbl :
sig type ('a, 'b) t = ('a, 'b) Hashtbl.t
val create : ?random:bool -> int -> ('a, 'b) t val clear : ('a, 'b) t -> unit
val reset : ('a, 'b) t -> unit val copy : ('a, 'b) t -> ('a, 'b) t
val add : ('a, 'b) t -> key:'a -> data:'b -> unit
val find : ('a, 'b) t -> 'a -> 'b
val find_opt : ('a, 'b) t -> 'a -> 'b option
val find_all : ('a, 'b) t -> 'a -> 'b list val mem : ('a, 'b) t -> 'a -> bool
val remove : ('a, 'b) t -> 'a -> unit
val replace : ('a, 'b) t -> key:'a -> data:'b -> unit
val iter : f:(key:'a -> data:'b -> unit) -> ('a, 'b) t -> unit
val filter_map_inplace :
f:(key:'a -> data:'b -> 'b option) -> ('a, 'b) t -> unit
val fold :
f:(key:'a -> data:'b -> 'acc -> 'acc) -> ('a, 'b) t -> init:'acc -> 'acc
val length : ('a, 'b) t -> int val randomize : unit -> unit
val is_randomized : unit -> bool
val rebuild : ?random:bool -> ('a, 'b) t -> ('a, 'b) t
type statistics = Stdcompat__hashtbl_ext.statistics =
{
num_bindings: int ;
num_buckets: int ;
max_bucket_length: int ;
bucket_histogram: int array }
val stats : ('a, 'b) t -> statistics
val to_seq : ('a, 'b) t -> ('a * 'b) Stdcompat__seq.t
val to_seq_keys : ('a, 'b) t -> 'a Stdcompat__seq.t
val to_seq_values : ('a, 'b) t -> 'b Stdcompat__seq.t
val add_seq : ('a, 'b) t -> ('a * 'b) Stdcompat__seq.t -> unit
val replace_seq : ('a, 'b) t -> ('a * 'b) Stdcompat__seq.t -> unit
val of_seq : ('a * 'b) Stdcompat__seq.t -> ('a, 'b) t
module type HashedType =
sig type t val equal : t -> t -> bool val hash : t -> int end
module type S =
sig type key
type !'a t
(*
type 'a t
*)
val create : int -> 'a t val clear : 'a t -> unit
val reset : 'a t -> unit val copy : 'a t -> 'a t
val add : 'a t -> key:key -> data:'a -> unit val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key:key -> data:'a -> unit
val mem : 'a t -> key -> bool
val iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit
val filter_map_inplace : f:(key:key -> data:'a -> 'a option) -> 'a t -> unit
val fold :
f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc
val length : 'a t -> int val stats : 'a t -> statistics
val to_seq : 'a t -> (key * 'a) Stdcompat__seq.t
val to_seq_keys : 'a t -> key Stdcompat__seq.t
val to_seq_values : 'a t -> 'a Stdcompat__seq.t
val add_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val replace_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val of_seq : (key * 'a) Stdcompat__seq.t -> 'a t end
module Make :
functor (H : HashedType) ->
sig type key = H.t type 'a t = 'a Hashtbl.Make(H).t val create : int -> 'a t
val clear : 'a t -> unit val reset : 'a t -> unit val copy : 'a t -> 'a t
val add : 'a t -> key:key -> data:'a -> unit val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key:key -> data:'a -> unit
val mem : 'a t -> key -> bool
val iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit
val filter_map_inplace : f:(key:key -> data:'a -> 'a option) -> 'a t -> unit
val fold :
f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc
val length : 'a t -> int val stats : 'a t -> statistics
val to_seq : 'a t -> (key * 'a) Stdcompat__seq.t
val to_seq_keys : 'a t -> key Stdcompat__seq.t
val to_seq_values : 'a t -> 'a Stdcompat__seq.t
val add_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val replace_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val of_seq : (key * 'a) Stdcompat__seq.t -> 'a t end
module type SeededHashedType =
sig type t val equal : t -> t -> bool val seeded_hash : int -> t -> int end
module type SeededS =
sig type key
type !'a t
(*
type 'a t
*)
val create : ?random:bool -> int -> 'a t
val clear : 'a t -> unit val reset : 'a t -> unit val copy : 'a t -> 'a t
val add : 'a t -> key:key -> data:'a -> unit val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key:key -> data:'a -> unit
val mem : 'a t -> key -> bool
val iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit
val filter_map_inplace : f:(key:key -> data:'a -> 'a option) -> 'a t -> unit
val fold :
f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc
val length : 'a t -> int val stats : 'a t -> statistics
val to_seq : 'a t -> (key * 'a) Stdcompat__seq.t
val to_seq_keys : 'a t -> key Stdcompat__seq.t
val to_seq_values : 'a t -> 'a Stdcompat__seq.t
val add_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val replace_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val of_seq : (key * 'a) Stdcompat__seq.t -> 'a t end
module MakeSeeded :
functor (H : SeededHashedType) ->
sig type key = H.t type 'a t = 'a Stdcompat__hashtbl_ext.MakeSeeded(H).t
val create : ?random:bool -> int -> 'a t val clear : 'a t -> unit
val reset : 'a t -> unit val copy : 'a t -> 'a t
val add : 'a t -> key:key -> data:'a -> unit val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key:key -> data:'a -> unit
val mem : 'a t -> key -> bool
val iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit
val filter_map_inplace : f:(key:key -> data:'a -> 'a option) -> 'a t -> unit
val fold :
f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc
val length : 'a t -> int val stats : 'a t -> statistics
val to_seq : 'a t -> (key * 'a) Stdcompat__seq.t
val to_seq_keys : 'a t -> key Stdcompat__seq.t
val to_seq_values : 'a t -> 'a Stdcompat__seq.t
val add_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val replace_seq : 'a t -> (key * 'a) Stdcompat__seq.t -> unit
val of_seq : (key * 'a) Stdcompat__seq.t -> 'a t end val hash : 'a -> int
val seeded_hash : int -> 'a -> int val hash_param : int -> int -> 'a -> int
val seeded_hash_param : int -> int -> int -> 'a -> int end
*)(** @since 5.0.0: module Hashtbl = MoreLabels.Hashtbl
*)(*
module Map = MoreLabels.Map
*)moduleMap:sigmoduletypeOrderedType=sigtypetvalcompare:t->t->intendmoduletypeS=sigtypekeytype+!'at(*
type +'a t
*)valempty:'atvaladd:key:key->data:'a->'at->'atvaladd_to_list:key:key->data:'a->'alistt->'alisttvalupdate:key:key->f:('aoption->'aoption)->'at->'atvalsingleton:key->'a->'atvalremove:key->'at->'atvalmerge:f:(key->'aoption->'boption->'coption)->'at->'bt->'ctvalunion:f:(key->'a->'a->'aoption)->'at->'at->'atvalcardinal:'at->intvalbindings:'at->(key*'a)listvalmin_binding:'at->(key*'a)valmin_binding_opt:'at->(key*'a)optionvalmax_binding:'at->(key*'a)valmax_binding_opt:'at->(key*'a)optionvalchoose:'at->(key*'a)valchoose_opt:'at->(key*'a)optionvalfind:key->'at->'avalfind_opt:key->'at->'aoptionvalfind_first:f:(key->bool)->'at->(key*'a)valfind_first_opt:f:(key->bool)->'at->(key*'a)optionvalfind_last:f:(key->bool)->'at->(key*'a)valfind_last_opt:f:(key->bool)->'at->(key*'a)optionvaliter:f:(key:key->data:'a->unit)->'at->unitvalfold:f:(key:key->data:'a->'acc->'acc)->'at->init:'acc->'accvalmap:f:('a->'b)->'at->'btvalmapi:f:(key->'a->'b)->'at->'btvalfilter:f:(key->'a->bool)->'at->'atvalfilter_map:f:(key->'a->'boption)->'at->'btvalpartition:f:(key->'a->bool)->'at->('at*'at)valsplit:key->'at->('at*'aoption*'at)valis_empty:'at->boolvalmem:key->'at->boolvalequal:cmp:('a->'a->bool)->'at->'at->boolvalcompare:cmp:('a->'a->int)->'at->'at->intvalfor_all:f:(key->'a->bool)->'at->boolvalexists:f:(key->'a->bool)->'at->boolvalto_list:'at->(key*'a)listvalof_list:(key*'a)list->'atvalto_seq:'at->(key*'a)Stdcompat__seq.tvalto_rev_seq:'at->(key*'a)Stdcompat__seq.tvalto_seq_from:key->'at->(key*'a)Stdcompat__seq.tvaladd_seq:(key*'a)Stdcompat__seq.t->'at->'atvalof_seq:(key*'a)Stdcompat__seq.t->'atendmoduleMake:functor(Ord:OrderedType)->sigtypekey=Ord.ttype'at='aMap.Make(Ord).tvalempty:'atvaladd:key:key->data:'a->'at->'atvaladd_to_list:key:key->data:'a->'alistt->'alisttvalupdate:key:key->f:('aoption->'aoption)->'at->'atvalsingleton:key->'a->'atvalremove:key->'at->'atvalmerge:f:(key->'aoption->'boption->'coption)->'at->'bt->'ctvalunion:f:(key->'a->'a->'aoption)->'at->'at->'atvalcardinal:'at->intvalbindings:'at->(key*'a)listvalmin_binding:'at->(key*'a)valmin_binding_opt:'at->(key*'a)optionvalmax_binding:'at->(key*'a)valmax_binding_opt:'at->(key*'a)optionvalchoose:'at->(key*'a)valchoose_opt:'at->(key*'a)optionvalfind:key->'at->'avalfind_opt:key->'at->'aoptionvalfind_first:f:(key->bool)->'at->(key*'a)valfind_first_opt:f:(key->bool)->'at->(key*'a)optionvalfind_last:f:(key->bool)->'at->(key*'a)valfind_last_opt:f:(key->bool)->'at->(key*'a)optionvaliter:f:(key:key->data:'a->unit)->'at->unitvalfold:f:(key:key->data:'a->'acc->'acc)->'at->init:'acc->'accvalmap:f:('a->'b)->'at->'btvalmapi:f:(key->'a->'b)->'at->'btvalfilter:f:(key->'a->bool)->'at->'atvalfilter_map:f:(key->'a->'boption)->'at->'btvalpartition:f:(key->'a->bool)->'at->('at*'at)valsplit:key->'at->('at*'aoption*'at)valis_empty:'at->boolvalmem:key->'at->boolvalequal:cmp:('a->'a->bool)->'at->'at->boolvalcompare:cmp:('a->'a->int)->'at->'at->intvalfor_all:f:(key->'a->bool)->'at->boolvalexists:f:(key->'a->bool)->'at->boolvalto_list:'at->(key*'a)listvalof_list:(key*'a)list->'atvalto_seq:'at->(key*'a)Stdcompat__seq.tvalto_rev_seq:'at->(key*'a)Stdcompat__seq.tvalto_seq_from:key->'at->(key*'a)Stdcompat__seq.tvaladd_seq:(key*'a)Stdcompat__seq.t->'at->'atvalof_seq:(key*'a)Stdcompat__seq.t->'atendend(** @since 5.1.0: module Map = MoreLabels.Map
*)(*
module Set = MoreLabels.Set
*)moduleSet:sigmoduletypeOrderedType=sigtypetvalcompare:t->t->intendmoduletypeS=sigtypeelttypetvalempty:tvaladd:elt->t->tvalsingleton:elt->tvalremove:elt->t->tvalunion:t->t->tvalinter:t->t->tvaldisjoint:t->t->boolvaldiff:t->t->tvalcardinal:t->intvalelements:t->eltlistvalmin_elt:t->eltvalmin_elt_opt:t->eltoptionvalmax_elt:t->eltvalmax_elt_opt:t->eltoptionvalchoose:t->eltvalchoose_opt:t->eltoptionvalfind:elt->t->eltvalfind_opt:elt->t->eltoptionvalfind_first:f:(elt->bool)->t->eltvalfind_first_opt:f:(elt->bool)->t->eltoptionvalfind_last:f:(elt->bool)->t->eltvalfind_last_opt:f:(elt->bool)->t->eltoptionvaliter:f:(elt->unit)->t->unitvalfold:f:(elt->'acc->'acc)->t->init:'acc->'accvalmap:f:(elt->elt)->t->tvalfilter:f:(elt->bool)->t->tvalfilter_map:f:(elt->eltoption)->t->tvalpartition:f:(elt->bool)->t->(t*t)valsplit:elt->t->(t*bool*t)valis_empty:t->boolvalmem:elt->t->boolvalequal:t->t->boolvalcompare:t->t->intvalsubset:t->t->boolvalfor_all:f:(elt->bool)->t->boolvalexists:f:(elt->bool)->t->boolvalto_list:t->eltlistvalof_list:eltlist->tvalto_seq_from:elt->t->eltStdcompat__seq.tvalto_seq:t->eltStdcompat__seq.tvalto_rev_seq:t->eltStdcompat__seq.tvaladd_seq:eltStdcompat__seq.t->t->tvalof_seq:eltStdcompat__seq.t->tendmoduleMake:functor(Ord:OrderedType)->sigtypeelt=Ord.ttypet=Set.Make(Ord).tvalempty:tvaladd:elt->t->tvalsingleton:elt->tvalremove:elt->t->tvalunion:t->t->tvalinter:t->t->tvaldisjoint:t->t->boolvaldiff:t->t->tvalcardinal:t->intvalelements:t->eltlistvalmin_elt:t->eltvalmin_elt_opt:t->eltoptionvalmax_elt:t->eltvalmax_elt_opt:t->eltoptionvalchoose:t->eltvalchoose_opt:t->eltoptionvalfind:elt->t->eltvalfind_opt:elt->t->eltoptionvalfind_first:f:(elt->bool)->t->eltvalfind_first_opt:f:(elt->bool)->t->eltoptionvalfind_last:f:(elt->bool)->t->eltvalfind_last_opt:f:(elt->bool)->t->eltoptionvaliter:f:(elt->unit)->t->unitvalfold:f:(elt->'acc->'acc)->t->init:'acc->'accvalmap:f:(elt->elt)->t->tvalfilter:f:(elt->bool)->t->tvalfilter_map:f:(elt->eltoption)->t->tvalpartition:f:(elt->bool)->t->(t*t)valsplit:elt->t->(t*bool*t)valis_empty:t->boolvalmem:elt->t->boolvalequal:t->t->boolvalcompare:t->t->intvalsubset:t->t->boolvalfor_all:f:(elt->bool)->t->boolvalexists:f:(elt->bool)->t->boolvalto_list:t->eltlistvalof_list:eltlist->tvalto_seq_from:elt->t->eltStdcompat__seq.tvalto_seq:t->eltStdcompat__seq.tvalto_rev_seq:t->eltStdcompat__seq.tvaladd_seq:eltStdcompat__seq.t->t->tvalof_seq:eltStdcompat__seq.t->tendend(** @since 5.1.0: module Set = MoreLabels.Set
*)end