Add hooks to re-initialize hconsed modules.
[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     val init : unit -> unit
12   end
13
14 module type S = 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     val init : unit -> unit
26
27 end
28
29 module Make (H : Hashtbl.HashedType) : S with type data = H.t