cherry pick from local- branch
[SXSI/xpathcomp.git] / hcons.mli
index 49af121..888531e 100644 (file)
--- 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