sig
type ('key, 'data, +'z) any
module Immutable :
sig
type ('key, 'data) t =
('key, 'data, Core.Std.immutable)
Extended_hashtbl.Access_control.any
val t_of_sexp :
(Sexplib.Sexp.t -> 'a) ->
(Sexplib.Sexp.t -> 'b) -> Sexplib.Sexp.t -> ('a, 'b) t
val sexp_of_t :
('a -> Sexplib.Sexp.t) ->
('b -> Sexplib.Sexp.t) -> ('a, 'b) t -> Sexplib.Sexp.t
val bin_size_t : ('a, 'b, ('a, 'b) t) Bin_prot.Size.sizer2
val bin_write_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.writer2
val bin_write_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_write_c.writer2
val bin_read_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.reader2
val bin_read_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_read_t__ :
('a, 'b, int -> ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_writer_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.writer
val bin_reader_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.reader
val bin_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.t
end
module Read_only :
sig
type ('key, 'data) t =
('key, 'data, Core.Std.read_only)
Extended_hashtbl.Access_control.any
val t_of_sexp :
(Sexplib.Sexp.t -> 'a) ->
(Sexplib.Sexp.t -> 'b) -> Sexplib.Sexp.t -> ('a, 'b) t
val sexp_of_t :
('a -> Sexplib.Sexp.t) ->
('b -> Sexplib.Sexp.t) -> ('a, 'b) t -> Sexplib.Sexp.t
val bin_size_t : ('a, 'b, ('a, 'b) t) Bin_prot.Size.sizer2
val bin_write_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.writer2
val bin_write_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_write_c.writer2
val bin_read_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.reader2
val bin_read_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_read_t__ :
('a, 'b, int -> ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_writer_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.writer
val bin_reader_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.reader
val bin_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.t
end
module Read_write :
sig
type ('key, 'data) t =
('key, 'data, Core.Std.read_write)
Extended_hashtbl.Access_control.any
val t_of_sexp :
(Sexplib.Sexp.t -> 'a) ->
(Sexplib.Sexp.t -> 'b) -> Sexplib.Sexp.t -> ('a, 'b) t
val sexp_of_t :
('a -> Sexplib.Sexp.t) ->
('b -> Sexplib.Sexp.t) -> ('a, 'b) t -> Sexplib.Sexp.t
val bin_size_t : ('a, 'b, ('a, 'b) t) Bin_prot.Size.sizer2
val bin_write_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.writer2
val bin_write_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_write_c.writer2
val bin_read_t : ('a, 'b, ('a, 'b) t) Bin_prot.Map_to_safe.reader2
val bin_read_t_ : ('a, 'b, ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_read_t__ :
('a, 'b, int -> ('a, 'b) t) Bin_prot.Unsafe_read_c.reader2
val bin_writer_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.writer
val bin_reader_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.reader
val bin_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.t
end
val of_hashtbl :
('key, 'data) Core.Std.Hashtbl.t ->
('key, 'data, 'a) Extended_hashtbl.Access_control.any
val clear : ('a, 'b) Extended_hashtbl.Access_control.Read_write.t -> unit
val copy :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
('a, 'b, 'd) Extended_hashtbl.Access_control.any
val fold :
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
init:'c -> f:(key:'a -> data:'b -> 'c -> 'c) -> 'c
val iter :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:(key:'a -> data:'b -> unit) -> unit
val existsi :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:(key:'a -> data:'b -> bool) -> bool
val exists :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:('b -> bool) -> bool
val length : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> int
val is_empty : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> bool
val mem : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> 'a -> bool
val remove :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t -> 'a -> unit
val remove_one :
('a, 'b list) Extended_hashtbl.Access_control.Read_write.t -> 'a -> unit
val replace :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
key:'a -> data:'b -> unit
val set :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
key:'a -> data:'b -> unit
val add :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
key:'a -> data:'b -> [ `Duplicate | `Ok ]
val add_exn :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
key:'a -> data:'b -> unit
val change :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
'a -> ('b option -> 'b option) -> unit
val add_multi :
('a, 'b list) Extended_hashtbl.Access_control.Read_write.t ->
key:'a -> data:'b -> unit
val map :
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
f:('b -> 'c) -> ('a, 'c, 'e) Extended_hashtbl.Access_control.any
val mapi :
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
f:(key:'a -> data:'b -> 'c) ->
('a, 'c, 'e) Extended_hashtbl.Access_control.any
val filter_map :
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
f:('b -> 'c option) -> ('a, 'c, 'e) Extended_hashtbl.Access_control.any
val filter_mapi :
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
f:(key:'a -> data:'b -> 'c option) ->
('a, 'c, 'e) Extended_hashtbl.Access_control.any
val filter :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:('b -> bool) -> ('a, 'b, 'd) Extended_hashtbl.Access_control.any
val filteri :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:(key:'a -> data:'b -> bool) ->
('a, 'b, 'd) Extended_hashtbl.Access_control.any
val find_or_add :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
'a -> default:(unit -> 'b) -> 'b
val find :
('a, 'b, 'c) Extended_hashtbl.Access_control.any -> 'a -> 'b option
val find_exn : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> 'a -> 'b
val iter_vals :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
f:('b -> unit) -> unit
val merge :
('k, 'a, 'd) Extended_hashtbl.Access_control.any ->
('k, 'b, 'e) Extended_hashtbl.Access_control.any ->
f:(key:'k ->
[ `Both of 'a * 'b | `Left of 'a | `Right of 'b ] -> 'c option) ->
('k, 'c, 'f) Extended_hashtbl.Access_control.any
val merge_into :
f:(key:'a -> 'b -> 'b option -> 'b option) ->
src:('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
dst:('a, 'b) Extended_hashtbl.Access_control.Read_write.t -> unit
val keys : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> 'a list
val data : ('a, 'b, 'c) Extended_hashtbl.Access_control.any -> 'b list
val filter_inplace :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
f:('b -> bool) -> unit
val filteri_inplace :
('a, 'b) Extended_hashtbl.Access_control.Read_write.t ->
f:('a -> 'b -> bool) -> unit
val equal :
('a, 'b, 'c) Extended_hashtbl.Access_control.any ->
('a, 'b, 'd) Extended_hashtbl.Access_control.any ->
('b -> 'b -> bool) -> bool
val to_alist :
('a, 'b, 'c) Extended_hashtbl.Access_control.any -> ('a * 'b) list
val incr :
?by:int ->
('a, int) Extended_hashtbl.Access_control.Read_write.t -> 'a -> unit
end