feat: add remove function to het map/tbl

This commit is contained in:
Simon Cruanes 2019-02-16 16:15:24 -06:00
parent 3236d3c8b9
commit c893716c1a
2 changed files with 12 additions and 0 deletions

View file

@ -109,6 +109,10 @@ module Tbl = struct
let add t k v = add_pair_ t (Pair (k,v))
let remove (type a) t (k:a Key.t) =
let module K = (val k) in
M.remove t K.id
let length t = M.length t
let iter f t = M.iter (fun _ pair -> f (pair_of_e_pair pair)) t
@ -168,6 +172,10 @@ module Map = struct
let module K = (val k) in
add_e_pair_ (E_pair (k, K.Store v)) t
let remove (type a) (k: a Key.t) t =
let module K = (val k) in
M.remove K.id t
let cardinal t = M.cardinal t
let length = cardinal

View file

@ -33,6 +33,8 @@ module Tbl : sig
val add : t -> 'a Key.t -> 'a -> unit
val remove : t -> _ Key.t -> unit
val length : t -> int
val find : t -> 'a Key.t -> 'a option
@ -65,6 +67,8 @@ module Map : sig
val add : 'a Key.t -> 'a -> t -> t
val remove : _ Key.t -> t -> t
val length : t -> int
val cardinal : t -> int