X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=hcons.mli;h=888531e692dc16bf404cbc20d8a7f5bd7c556c81;hb=bf2b1a91300ace1e7e83bd78f868a269d86498f9;hp=49af121a88d02da8535daf07e089b6f62bd6b97e;hpb=2676d5a3bbb1e6f6a5af66477edfe3b4c849f4e7;p=SXSI%2Fxpathcomp.git diff --git a/hcons.mli b/hcons.mli index 49af121..888531e 100644 --- a/hcons.mli +++ b/hcons.mli @@ -1,12 +1,31 @@ -module type S = +module type SA = sig type data type t val make : data -> t val node : t -> data val hash : t -> int - val uid : t -> int + val uid : t -> Uid.t + val equal : t -> t -> bool + + + val with_id : Uid.t -> t + end + +module type S = + sig + type data + type t = private { id : Uid.t; + key : int; + node : data } + val make : data -> t + val node : t -> data + val hash : t -> int + val uid : t -> Uid.t val equal : t -> t -> bool + + + val with_id : Uid.t -> t end module Make (H : Hashtbl.HashedType) : S with type data = H.t