sig
val add :
('a, 'b, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t ->
key:'a -> data:'b -> unit
val replace :
('a, 'b, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t ->
key:'a -> data:'b -> unit
val iter :
f:(key:'a -> data:'b -> unit) ->
('a, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t -> unit
val map :
f:(key:'a -> data:'b -> 'c) ->
('a, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('a, 'c, [< `Read | `Write ]) BatHashtbl.Cap.t
val map_inplace :
f:(key:'a -> data:'b -> 'b) ->
('a, 'b, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t -> unit
val filter :
f:('a -> bool) ->
('key, 'a, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('key, 'a, [< `Read | `Write ]) BatHashtbl.Cap.t
val filter_inplace :
f:('a -> bool) ->
('key, 'a, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t -> unit
val filteri :
f:(key:'key -> data:'a -> bool) ->
('key, 'a, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('key, 'a, [< `Read | `Write ]) BatHashtbl.Cap.t
val filteri_inplace :
f:(key:'key -> data:'a -> bool) ->
('key, 'a, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t -> unit
val filter_map :
f:(key:'key -> data:'a -> 'b option) ->
('key, 'a, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('key, 'b, [< `Read | `Write ]) BatHashtbl.Cap.t
val filter_map_inplace :
f:(key:'key -> data:'a -> 'a option) ->
('key, 'a, [< `Read | `Write > `Write ]) BatHashtbl.Cap.t -> unit
val fold :
f:(key:'a -> data:'b -> 'c -> 'c) ->
('a, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t -> init:'c -> 'c
val merge :
f:('key -> 'a option -> 'b option -> 'c option) ->
left:('key, 'a, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
right:('key, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('key, 'c, [< `Read | `Write ]) BatHashtbl.Cap.t
val merge_all :
f:('key -> 'a list -> 'b list -> 'c list) ->
left:('key, 'a, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
right:('key, 'b, [< `Read | `Write > `Read ]) BatHashtbl.Cap.t ->
('key, 'c, [< `Read | `Write ]) BatHashtbl.Cap.t
end