Up

module Extended_hashtbl

: sig
#
module Access_control : sig
#
type ('key, 'data, -'z) any
#
module Immutable : sig
#
type ('key, 'data) t = ('key, 'data, Core.Std.immutable) any
include Core.Std.Sexpable.S2 with type ('key, 'data) t := ('key, 'data) t
include Core.Std.Binable.S2 with type ('key, 'data) t := ('key, 'data) t
end
#
module Read_only : sig
#
type ('key, 'data) t = ('key, 'data, Core.Std.read) any
include Core.Std.Sexpable.S2 with type ('key, 'data) t := ('key, 'data) t
include Core.Std.Binable.S2 with type ('key, 'data) t := ('key, 'data) t
end
#
module Read_write : sig
#
type ('key, 'data) t = ('key, 'data, Core.Std.read_write) any
include Core.Std.Sexpable.S2 with type ('key, 'data) t := ('key, 'data) t
include Core.Std.Binable.S2 with type ('key, 'data) t := ('key, 'data) t
end
#
val of_hashtbl : ('key, 'data) Core.Std.Hashtbl.t -> ('key, 'data, [<
| _ Core.Std.perms
]) any
#
val clear : (_, _) Read_write.t -> unit
#
val copy : ('a, 'b, [>
| Core.Std.read
]) any -> ('a, 'b, [<
| _ Core.Std.perms
]) any
#
val fold : ('a, 'b, [>
| Core.Std.read
]) any -> init:'c -> f:(key:'a -> data:'b -> 'c -> 'c) -> 'c
#
val iter : ('a, 'b, [>
| Core.Std.read
]) any -> f:(key:'a -> data:'b -> unit) -> unit
#
val existsi : ('a, 'b, [>
| Core.Std.read
]) any -> f:(key:'a -> data:'b -> bool) -> bool
#
val exists : ('a, 'b, [>
| Core.Std.read
]) any -> f:('b -> bool) -> bool
#
val length : (_, _, _) any -> int
#
val is_empty : (_, _, _) any -> bool
#
val mem : ('a, _, [>
| Core.Std.read
]) any -> 'a -> bool
#
val remove : ('a, _) Read_write.t -> 'a -> unit
#
val remove_one : ('a, _ list) Read_write.t -> 'a -> unit
#
val replace : ('a, 'b) Read_write.t -> key:'a -> data:'b -> unit
#
val set : ('a, 'b) Read_write.t -> key:'a -> data:'b -> unit
#
val add : ('a, 'b) Read_write.t -> key:'a -> data:'b -> [
| `Ok
| `Duplicate
]
#
val add_exn : ('a, 'b) Read_write.t -> key:'a -> data:'b -> unit
#
val change : ('a, 'b) Read_write.t -> 'a -> ('b option -> 'b option) -> unit
#
val add_multi : ('a, 'b list) Read_write.t -> key:'a -> data:'b -> unit
#
val map : ('a, 'b, [>
| Core.Std.read
]) any -> f:('b -> 'c) -> ('a, 'c, [<
| _ Core.Std.perms
]) any
#
val mapi : ('a, 'b, [>
| Core.Std.read
]) any -> f:(key:'a -> data:'b -> 'c) -> ('a, 'c, [<
| _ Core.Std.perms
]) any
#
val filter_map : ('a, 'b, [>
| Core.Std.read
]) any -> f:('b -> 'c option) -> ('a, 'c, [<
| _ Core.Std.perms
]) any
#
val filter_mapi : ('a, 'b, [>
| Core.Std.read
]) any -> f:(key:'a -> data:'b -> 'c option) -> ('a, 'c, [<
| _ Core.Std.perms
]) any
#
val filter : ('a, 'b, [>
| Core.Std.read
]) any -> f:('b -> bool) -> ('a, 'b, [<
| _ Core.Std.perms
]) any
#
val filteri : ('a, 'b, [>
| Core.Std.read
]) any -> f:(key:'a -> data:'b -> bool) -> ('a, 'b, [<
| _ Core.Std.perms
]) any
#
val find_or_add : ('a, 'b) Read_write.t -> 'a -> default:(unit -> 'b) -> 'b
#
val find : ('a, 'b, [>
| Core.Std.read
]) any -> 'a -> 'b option
#
val find_exn : ('a, 'b, [>
| Core.Std.read
]) any -> 'a -> 'b
#
val iter_vals : ('a, 'b, [>
| Core.Std.read
]) any -> f:('b -> unit) -> unit
#
val merge : ('k, 'a, [>
| Core.Std.read
]) any -> ('k, 'b, [>
| Core.Std.read
]) any -> f:(key:'k -> [
| `Left of 'a
| `Right of 'b
| `Both of 'a * 'b
] -> 'c option) -> ('k, 'c, [<
| _ Core.Std.perms
]) any
#
val merge_into : f:(key:'a -> 'b -> 'b option -> 'b option) -> src:('a, 'b, [>
| Core.Std.read
]) any -> dst:('a, 'b) Read_write.t -> unit
#
val keys : ('a, 'b, [>
| Core.Std.read
]) any -> 'a list
#
val data : ('a, 'b, [>
| Core.Std.read
]) any -> 'b list
#
val filter_inplace : ('a, 'b) Read_write.t -> f:('b -> bool) -> unit
#
val filteri_inplace : ('a, 'b) Read_write.t -> f:('a -> 'b -> bool) -> unit
#
val equal : ('a, 'b, [>
| Core.Std.read
]) any -> ('a, 'b, [>
| Core.Std.read
]) any -> ('b -> 'b -> bool) -> bool
#
val to_alist : ('a, 'b, [>
| Core.Std.read
]) any -> ('a * 'b) list
#
val incr : ?by:int -> ('a, int) Read_write.t -> 'a -> unit
end
end