Commit before changing Tree.ml interface
[SXSI/xpathcomp.git] / tree.mli
index 75fb8fd..3f72894 100644 (file)
--- a/tree.mli
+++ b/tree.mli
@@ -16,35 +16,44 @@ val root : t -> t
 val is_root : t -> bool
 val parent : t -> t
 val first_child : t -> t
+val tagged_child : Tag.t -> t ->  t
+val select_child : Ptset.Int.t -> t ->  t
+
 val next_sibling : t -> t
+
+val tagged_sibling : Tag.t -> t ->  t
+val tagged_sibling_ctx : Tag.t -> t -> t -> t
+
+val select_sibling : Ptset.Int.t -> t -> t 
+val select_sibling_ctx : Ptset.Int.t -> t -> t -> t
+
 val next_sibling_ctx : t -> t -> t
-val left : t -> t
-val right : t -> t
-val id : t -> int
+
 val tag : t -> Tag.t
-val text_below : t -> t
-val text_next : t -> t -> t
+val id : t -> int
+
 val tagged_desc : Tag.t -> t -> t
-val tagged_foll_below : Tag.t -> t -> t -> t
-val select_desc_only : Ptset.t -> t -> t
-val select_foll_only : Ptset.t -> t -> t -> t
-val select_below :   Ptset.t -> Ptset.t ->  t -> t
-val select_next :  Ptset.t -> Ptset.t -> t -> t -> t
+val select_desc : Ptset.Int.t -> t -> t
+
+val tagged_foll_ctx : Tag.t -> t -> t -> t
+val select_foll_ctx : Ptset.Int.t -> t -> t -> t
+
 val count : t -> string -> int
 val print_xml_fast : out_channel -> t -> unit
-val node_child : t -> t
-val node_sibling : t -> t
-val node_sibling_ctx : t -> t -> t
-val tags_below : t -> Tag.t -> Ptset.t
-val tags_after : t -> Tag.t -> Ptset.t
-val tags : t -> Tag.t -> Ptset.t*Ptset.t
+
+val tags_below : t -> Tag.t -> Ptset.Int.t
+val tags_after : t -> Tag.t -> Ptset.Int.t
+val tags : t -> Tag.t -> Ptset.Int.t*Ptset.Int.t
 val is_below_right : t -> t -> bool
 val is_left : t -> bool
-val tagged_lowest : t -> Tag.t -> t
-val tagged_next : t -> Tag.t -> t
+
 val binary_parent : t -> t
-val benchmark_text : t -> string array
+
 val count_contains : t -> string -> int
 val unsorted_contains : t -> string -> unit
 val text_size : t -> int
 val doc_ids : t -> int*int
+val subtree_tags : t -> Tag.t -> int
+val get_text : t -> string
+
+val dump_tree : Format.formatter -> t -> unit