type t
-val init_contains : t -> string -> unit
+val init_textfun : [ `CONTAINS | `STARTSWITH | `ENDSWITH | `EQUALS ] -> t -> string -> unit
val init_naive_contains : t -> string -> unit
val parse_xml_uri : string -> t
val parse_xml_string : string -> t
val save : t -> string -> unit
-val load : ?sample:int -> string -> t
+val load : ?sample:int -> ?load_text:bool -> string -> t
val tag_pool : t -> Tag.pool
-type 'a node = private int
+type 'a node
type node_kind = [ `Tree | `Text ]
val equal : [ `Tree ] node -> [ `Tree ] node -> bool
val compare : [ `Tree ] node -> [ `Tree ] node -> int
val nil : [ `Tree ] node
val root : [ `Tree ] node
-
+val size : t -> int
val is_root : [ `Tree ] node -> bool
val is_nil : [ `Tree ] node -> bool
val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node
val next_element : t -> [ `Tree ] node -> [ `Tree ] node
-val next_sibling_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
-val next_element_ctx : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
+val next_sibling_below : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
+val next_element_below : t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
-val tagged_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
-val tagged_sibling_ctx : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
+val tagged_following_sibling : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
+val tagged_following_sibling_below : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
-val select_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
-val select_sibling_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
+val select_following_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
+val select_following_sibling_below : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
val tag : t -> [ `Tree ] node -> Tag.t
val id : t -> [ `Tree ] node -> int
-val tagged_desc : t -> Tag.t -> [ `Tree ] node -> [`Tree] node
-val select_desc : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node
+val tagged_descendant : t -> Tag.t -> [ `Tree ] node -> [`Tree] node
+val select_descendant : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node
-val tagged_foll_ctx : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
-val select_foll_ctx : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
+val tagged_following_below : t -> Tag.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
+val select_following_below : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
val count : t -> string -> int
val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit
val binary_parent : t -> [`Tree] node -> [`Tree] node
val count_contains : t -> string -> int
-val unsorted_contains : t -> string -> unit
+(* val unsorted_contains : t -> string -> unit *)
val text_size : t -> int
val doc_ids : t -> [`Tree] node -> [`Text] node * [`Text] node
val subtree_tags : t -> Tag.t -> [`Tree] node -> int
val closing : t -> [`Tree] node -> [`Tree] node
val is_open : t -> [`Tree] node -> bool
+
+val benchmark_jump : t -> Tag.t -> unit
+val benchmark_fcns : t -> unit
+val benchmark_lcps : t -> unit
+val stats : t -> unit
+
+val test_suffix : t -> string -> int
+val test_prefix : t -> string -> int
+val test_equals : t -> string -> int
+val test_contains : t -> string -> int