Split the Options module in two to remove a circular dependency in
[SXSI/xpathcomp.git] / src / nodeSet.mli
index a25189a..d9215ac 100644 (file)
@@ -1,8 +1,12 @@
+
 module type S =
   sig
     type t
     type elt = Tree.node
     val empty : t
+    val var : (int*State.t) -> t
+    val close : ((int*State.t), t) Hashtbl.t -> t -> t
+    val is_open : t -> bool
     val singleton : elt -> t
     val cons : elt -> t -> t
     val snoc : t -> elt -> t
@@ -17,7 +21,10 @@ module type S =
     val iter : ( elt -> unit) -> t -> unit
     val fold : ( elt -> 'a -> 'a) -> t -> 'a -> 'a
     val length : t -> int
-    val serialize : string -> Tree.t -> t -> unit
+    val serialize : string -> bool -> Tree.t -> t -> unit
+
+
+
   end
 
 module Count : S with type t = int
@@ -37,3 +44,5 @@ type 'a mat = { mutable clist : clist;
 module Mat : S with type t = Tree.node mat
 
 val debug : Tree.node mat -> unit
+
+module Partial(N : S) : S