This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
30
unikernel/duniverse/dune_/otherlibs/stdune/src/id.ml
Normal file
30
unikernel/duniverse/dune_/otherlibs/stdune/src/id.ml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
module type S = sig
|
||||
type t [@@immediate]
|
||||
|
||||
include Comparable_intf.S with type key := t
|
||||
module Table : Hashtbl.S with type key = t
|
||||
|
||||
val gen : unit -> t
|
||||
val peek : unit -> t
|
||||
val to_int : t -> int
|
||||
val compare : t -> t -> Ordering.t
|
||||
val equal : t -> t -> bool
|
||||
val hash : t -> int
|
||||
val to_dyn : t -> Dyn.t
|
||||
end
|
||||
|
||||
module Make () : S = struct
|
||||
include Int
|
||||
module Table = Hashtbl.Make (Int)
|
||||
|
||||
let next = ref 0
|
||||
|
||||
let gen () =
|
||||
let v = !next in
|
||||
next := v + 1;
|
||||
v
|
||||
;;
|
||||
|
||||
let peek () = !next
|
||||
let to_int x = x
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue