Cosmetic change.
[SXSI/xpathcomp.git] / src / nodeSet.mli
1 module type S =
2   sig
3     type t
4     type elt = Tree.node
5     val empty : t
6     val singleton : elt -> t
7     val cons : elt -> t -> t
8     val snoc : t -> elt -> t
9     val concat : t -> t -> t
10     val concat3 : t -> t -> t -> t
11     val concat4 : t -> t -> t -> t -> t
12     val conscat : elt -> t -> t -> t
13     val conscat3 : elt -> t -> t -> t -> t
14     val conscat4 : elt -> t -> t -> t -> t -> t
15     val subtree_tags : Tree.t -> elt -> Tag.t -> t
16     val subtree_elements : Tree.t -> elt -> t
17     val iter : ( elt -> unit) -> t -> unit
18     val fold : ( elt -> 'a -> 'a) -> t -> 'a -> 'a
19     val length : t -> int
20     val serialize : string -> Tree.t -> t -> unit
21   end
22
23 module Count : S with type t = int
24
25 type  clist =
26   | Nil
27   | Cons of Tree.node * clist
28   | Concat of clist *  clist
29   | ConsCat of Tree.node * clist * clist
30   | SubtreeTags of Tree.t * Tree.node * Tag.t
31   | SubtreeElts of Tree.t * Tree.node
32
33
34 type 'a mat = { mutable clist : clist;
35                 mutable length : int }
36
37 module Mat : S with type t = Tree.node mat
38
39 val debug : Tree.node mat -> unit