2e18f82446c541a096ce3027ddf6e590245f56fe
[SXSI/xpathcomp.git] / src / hcons.mli
1 module type SA =
2   sig
3     type data
4     type t
5     val make : data -> t
6     val node : t -> data
7     val hash : t -> int
8     val uid : t -> Uid.t
9     val equal : t -> t -> bool
10     val stats : unit -> unit
11   end
12
13 module type S =
14   sig
15     type data
16     type t = private { id   : Uid.t;
17                        key  : int;
18                        node : data }
19     val make : data -> t
20     val node : t -> data
21     val hash : t -> int
22     val uid : t -> Uid.t
23     val equal : t -> t -> bool
24     val stats : unit -> unit
25   end
26
27 module Make (H : Hashtbl.HashedType) : S with type data = H.t