X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=ptset.mli;h=27b63325d2b885621cf4a8d78f59272c76c0e693;hb=df5fdb22632be887ecd9f5c46a014e7e970148a2;hp=fc95d4e603d73e71259286724b4962e054c435e4;hpb=9f227961ae2219728e4cdd56e4d4c4e7165e4306;p=SXSI%2Fxpathcomp.git diff --git a/ptset.mli b/ptset.mli index fc95d4e..27b6332 100644 --- a/ptset.mli +++ b/ptset.mli @@ -26,8 +26,18 @@ module type S = sig type elt - type data - type t + + type 'a node + module rec Node : sig + include Hcons.S with type data = Data.t + end + and Data : sig + include + Hashtbl.HashedType with type t = Node.t node + end + type data = Data.t + type t = Node.t + val empty : t val is_empty : t -> bool val mem : elt -> t -> bool @@ -68,6 +78,8 @@ val uncons : t -> elt * t val from_list : elt list -> t val make : data -> t val node : t -> data + +val with_id : Uid.t -> t end @@ -76,4 +88,4 @@ module Int : sig val print : Format.formatter -> t -> unit end -module Make ( H : Hcons.S ) : S with type elt = H.t +module Make ( H : Hcons.SA ) : S with type elt = H.t