utils: Add unique () function.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 9 Jan 2020 18:11:26 +0000 (18:11 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 9 Jan 2020 18:11:26 +0000 (18:11 +0000)
src/utils.ml
src/utils.mli

index 50adfb4..3d1b0c5 100644 (file)
@@ -24,6 +24,8 @@ let failwithf fs = ksprintf failwith fs
 let (//) = Filename.concat
 let is_directory d = try Sys.is_directory d with Sys_error _ -> false
 
+let unique = let i = ref 0 in fun () -> incr i; !i
+
 (* From OCaml 4.08 sources.  We can remove this when we can
  * depend on min OCaml 4.08.
  *)
index 8edfaae..1979a34 100644 (file)
@@ -26,6 +26,9 @@ val (//) : string -> string -> string
 val is_directory : string -> bool
 (** Return true iff parameter is a directory. *)
 
+val unique : unit -> int
+(** Returns a unique number each time called. *)
+
 val filter_map : ('a -> 'b option) -> 'a list -> 'b list
 (** [filter_map f l] applies [f] to every element of [l], filters
     out the [None] elements and returns the list of the arguments of