Merged -correctxpath branch
[SXSI/xpathcomp.git] / tree.mli
index 6fa19b0..79321c2 100644 (file)
--- a/tree.mli
+++ b/tree.mli
@@ -12,27 +12,65 @@ sig
   type t
   val parse_xml_uri : string -> t
   val parse_xml_string : string -> t
+  val save : t -> string -> unit
+  val load : ?sample:int -> string -> t
   val tag_pool : t -> Tag.pool
   val string : t -> string
   val descr : t -> descr
+  val is_node : t -> bool
   val left : t -> t
   val right : t -> t
+  val first_child : t -> t
+  val next_sibling : t -> t
   val parent : t -> t
+  val root : t -> t
+  val is_root : t -> bool
   val id : t -> int
   val tag : t -> Tag.t
   val print_xml_fast : out_channel -> t -> unit
   val compare : t -> t -> int
   val equal : t -> t -> bool
-  module DocIdSet : Set.S with type elt = string_content
+  module DocIdSet : 
+  sig 
+    include Set.S  
+  end with type elt = string_content
   val string_below : t -> string_content -> bool
   val contains : t -> string -> DocIdSet.t
-  val contains_old : t -> string -> bool
+  val contains_old : t -> string -> DocIdSet.t
+  val contains_iter : t -> string -> DocIdSet.t
+  val count_contains : t -> string -> int
+  val count : t -> string -> int
   val dump : t -> unit 
+  val get_string : t -> string_content -> string
+  val has_tagged_desc : t -> Tag.t -> bool
+  val has_tagged_foll : t -> Tag.t -> bool
+  val tagged_desc : t -> Tag.t -> t
+  val tagged_foll : t -> Tag.t -> t
+  val tagged_below : t -> Ptset.t -> Ptset.t -> t
+  val tagged_next : t -> Ptset.t -> Ptset.t -> t -> t
+  val tagged_desc_only : t -> Ptset.t -> t
+  val tagged_foll_only : t -> Ptset.t -> t -> t
+  val text_below : t -> t
+  val text_next : t -> t -> t
+  val init_tagged_next : t -> Tag.t -> unit
+  val subtree_tags : t -> Tag.t -> int
+  val is_left : t -> bool
+  val print_id : Format.formatter -> t -> unit 
+  val test_xml_tree : Format.formatter -> Ptset.t -> t -> unit
+  val init_contains : t -> string -> unit
+  val init_naive_contains : t -> string -> unit
+  val mk_nil : t -> t
+  val test_jump : t -> Tag.t -> unit
+  val time_xml_tree : t -> Tag.t -> int list
+  val time_xml_tree2 : t -> Tag.t -> int list
 end
 
 module Binary : BINARY
 
+IFDEF DEBUG
+THEN
 module DEBUGTREE : sig
   include BINARY
   val print_stats : Format.formatter -> unit
 end
+ENDIF