mirror of
https://github.com/c-cube/iter.git
synced 2025-12-06 03:05:29 -05:00
implement Set.Adapt.of_list for < 4.02
This commit is contained in:
parent
cdae072e5e
commit
a5a1315f79
1 changed files with 3 additions and 1 deletions
|
|
@ -609,7 +609,7 @@ module Set = struct
|
||||||
end
|
end
|
||||||
|
|
||||||
(** Create an enriched Set module from the given one *)
|
(** Create an enriched Set module from the given one *)
|
||||||
module Adapt(X : Set.S) = struct
|
module Adapt(X : Set.S) : S with type elt = X.elt and type t = X.t = struct
|
||||||
let to_seq set k = X.iter k set
|
let to_seq set k = X.iter k set
|
||||||
|
|
||||||
let of_seq seq = fold (fun set x -> X.add x set) X.empty seq
|
let of_seq seq = fold (fun set x -> X.add x set) X.empty seq
|
||||||
|
|
@ -617,6 +617,8 @@ module Set = struct
|
||||||
let to_list set = to_list (to_seq set)
|
let to_list set = to_list (to_seq set)
|
||||||
|
|
||||||
include X
|
include X
|
||||||
|
|
||||||
|
let of_list l = List.fold_left (fun set x -> add x set) empty l
|
||||||
end
|
end
|
||||||
|
|
||||||
(** Functor to build an extended Set module from an ordered type *)
|
(** Functor to build an extended Set module from an ordered type *)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue