CCHashtbl: Added {keys,values}_list in the functor as well. Better doc.

This commit is contained in:
Vincent Bernardoff 2014-12-22 17:27:04 +01:00
parent 22e5b26b94
commit 86fdb22d5a
2 changed files with 23 additions and 2 deletions

View file

@ -84,6 +84,14 @@ module type S = sig
val values : 'a t -> 'a sequence
(** Iterate on values in the table *)
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
val map_list : (key -> 'a -> 'b) -> 'a t -> 'b list
(** Map on a hashtable's items, collect into a list *)
@ -111,6 +119,9 @@ module Make(X : Hashtbl.HashedType) = struct
let values tbl k = iter (fun _ v -> k v) tbl
let keys_list tbl = Hashtbl.fold (fun k _ a -> k::a) tbl []
let values_list tbl = Hashtbl.fold (fun _ v a -> v::a) tbl []
let map_list f h =
fold
(fun x y acc -> f x y :: acc)

View file

@ -45,10 +45,12 @@ val values : ('a,'b) Hashtbl.t -> 'b sequence
(** Iterate on values in the table *)
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t]. *)
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t]. *)
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
val map_list : ('a -> 'b -> 'c) -> ('a, 'b) Hashtbl.t -> 'c list
(** Map on a hashtable's items, collect into a list *)
@ -79,6 +81,14 @@ module type S = sig
val values : 'a t -> 'a sequence
(** Iterate on values in the table *)
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
val map_list : (key -> 'a -> 'b) -> 'a t -> 'b list
(** Map on a hashtable's items, collect into a list *)