mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
add CCMap.add_{list,seq}
This commit is contained in:
parent
431c3a1e53
commit
344844ff9f
2 changed files with 19 additions and 5 deletions
|
|
@ -44,10 +44,16 @@ module type S = sig
|
||||||
|
|
||||||
val of_seq : (key * 'a) sequence -> 'a t
|
val of_seq : (key * 'a) sequence -> 'a t
|
||||||
|
|
||||||
|
val add_seq : 'a t -> (key * 'a) sequence -> 'a t
|
||||||
|
(** @since NEXT_RELEASE *)
|
||||||
|
|
||||||
val to_seq : 'a t -> (key * 'a) sequence
|
val to_seq : 'a t -> (key * 'a) sequence
|
||||||
|
|
||||||
val of_list : (key * 'a) list -> 'a t
|
val of_list : (key * 'a) list -> 'a t
|
||||||
|
|
||||||
|
val add_list : 'a t -> (key * 'a) list -> 'a t
|
||||||
|
(** @since NEXT_RELEASE *)
|
||||||
|
|
||||||
val to_list : 'a t -> (key * 'a) list
|
val to_list : 'a t -> (key * 'a) list
|
||||||
|
|
||||||
val pp : ?start:string -> ?stop:string -> ?arrow:string -> ?sep:string ->
|
val pp : ?start:string -> ?stop:string -> ?arrow:string -> ?sep:string ->
|
||||||
|
|
@ -73,17 +79,19 @@ module Make(O : Map.OrderedType) = struct
|
||||||
| None -> remove k m
|
| None -> remove k m
|
||||||
| Some v' -> add k v' m
|
| Some v' -> add k v' m
|
||||||
|
|
||||||
let of_seq s =
|
let add_seq m s =
|
||||||
let m = ref empty in
|
let m = ref m in
|
||||||
s (fun (k,v) -> m := add k v !m);
|
s (fun (k,v) -> m := add k v !m);
|
||||||
!m
|
!m
|
||||||
|
|
||||||
|
let of_seq s = add_seq empty s
|
||||||
|
|
||||||
let to_seq m yield =
|
let to_seq m yield =
|
||||||
iter (fun k v -> yield (k,v)) m
|
iter (fun k v -> yield (k,v)) m
|
||||||
|
|
||||||
let of_list l =
|
let add_list m l = List.fold_left (fun m (k,v) -> add k v m) m l
|
||||||
List.fold_left
|
|
||||||
(fun m (k,v) -> add k v m) empty l
|
let of_list l = add_list empty l
|
||||||
|
|
||||||
let to_list m =
|
let to_list m =
|
||||||
fold (fun k v acc -> (k,v)::acc) m []
|
fold (fun k v acc -> (k,v)::acc) m []
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,16 @@ module type S = sig
|
||||||
|
|
||||||
val of_seq : (key * 'a) sequence -> 'a t
|
val of_seq : (key * 'a) sequence -> 'a t
|
||||||
|
|
||||||
|
val add_seq : 'a t -> (key * 'a) sequence -> 'a t
|
||||||
|
(** @since NEXT_RELEASE *)
|
||||||
|
|
||||||
val to_seq : 'a t -> (key * 'a) sequence
|
val to_seq : 'a t -> (key * 'a) sequence
|
||||||
|
|
||||||
val of_list : (key * 'a) list -> 'a t
|
val of_list : (key * 'a) list -> 'a t
|
||||||
|
|
||||||
|
val add_list : 'a t -> (key * 'a) list -> 'a t
|
||||||
|
(** @since NEXT_RELEASE *)
|
||||||
|
|
||||||
val to_list : 'a t -> (key * 'a) list
|
val to_list : 'a t -> (key * 'a) list
|
||||||
|
|
||||||
val pp : ?start:string -> ?stop:string -> ?arrow:string -> ?sep:string ->
|
val pp : ?start:string -> ?stop:string -> ?arrow:string -> ?sep:string ->
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue