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.Int.t -> t -> t
-val select_foll_only : Ptset.Int.t -> t -> t -> t
-val select_below : Ptset.Int.t -> Ptset.Int.t -> t -> t
-val select_next : Ptset.Int.t -> Ptset.Int.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.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