Random fixes
[SXSI/xpathcomp.git] / tree.mli
1 type t 
2
3 val init_textfun : [ `CONTAINS | `STARTSWITH | `ENDSWITH | `EQUALS ] -> t -> string -> unit
4 val init_naive_contains : t -> string -> unit
5
6
7 val parse_xml_uri : string -> t
8 val parse_xml_string : string -> t
9 val save : t -> string -> unit
10 val load : ?sample:int -> ?load_text:bool -> string -> t
11 val tag_pool : t -> Tag.pool
12
13
14 type 'a node
15 type node_kind = [ `Tree | `Text ]
16 val equal : [ `Tree ] node -> [ `Tree ] node -> bool
17 val compare : [ `Tree ] node -> [ `Tree ] node -> int
18 val dump_node : 'a node -> string
19
20
21 val nil : [ `Tree ] node
22 val root : [ `Tree ] node
23 val size : t -> int
24 val is_root : [ `Tree ] node -> bool
25 val is_nil : [ `Tree ] node -> bool
26
27 val parent : t -> [ `Tree ] node -> [ `Tree ] node
28 val first_child : t -> [ `Tree ] node -> [ `Tree ] node
29 val first_element : t -> [ `Tree ] node -> [ `Tree ] node
30 val tagged_child : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node
31
32 val select_child : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
33
34 val next_sibling : t -> [ `Tree ] node -> [ `Tree ] node
35 val next_element : t -> [ `Tree ] node -> [ `Tree ] node
36
37 val next_sibling_below : t -> [ `Tree ] node -> [ `Tree ] node ->  [ `Tree ] node
38 val next_element_below : t -> [ `Tree ] node -> [ `Tree ] node ->  [ `Tree ] node
39
40 val tagged_following_sibling : t ->  Tag.t ->  [ `Tree ] node -> [ `Tree ] node
41 val tagged_following_sibling_below : t -> Tag.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node
42
43 val select_following_sibling : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node
44 val select_following_sibling_below : t -> Ptset.Int.t -> [ `Tree ] node -> [ `Tree ] node -> [ `Tree ] node 
45
46
47
48 val tag : t -> [ `Tree ] node -> Tag.t
49 val id : t -> [ `Tree ] node -> int
50
51 val tagged_descendant : t -> Tag.t -> [ `Tree ] node -> [`Tree] node
52 val select_descendant : t -> Ptset.Int.t -> [ `Tree ] node -> [`Tree] node
53
54 val tagged_following_below : t -> Tag.t ->  [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
55 val select_following_below : t -> Ptset.Int.t ->  [ `Tree ] node -> [`Tree] node -> [ `Tree ] node
56
57 val count : t -> string -> int
58 val print_xml_fast : out_channel -> t -> [ `Tree ] node -> unit
59 val print_xml_fast2 : out_channel -> t -> [ `Tree ] node -> unit
60 val print_xml_fast3 : t -> [ `Tree ] node -> Unix.file_descr -> unit
61
62 val tags_children : t -> Tag.t -> Ptset.Int.t
63 val tags_below : t -> Tag.t -> Ptset.Int.t
64 val tags_siblings : t -> Tag.t -> Ptset.Int.t
65 val tags_after : t -> Tag.t -> Ptset.Int.t
66 val tags : t ->  Tag.t  -> Ptset.Int.t*Ptset.Int.t*Ptset.Int.t*Ptset.Int.t
67 val is_below_right : t ->  [`Tree] node ->  [`Tree] node -> bool
68 val is_binary_ancestor : t ->  [`Tree] node ->  [`Tree] node -> bool
69 val is_left : t ->  [`Tree] node -> bool
70
71 val binary_parent : t ->  [`Tree] node -> [`Tree] node 
72
73 val count_contains : t -> string -> int
74 (* val unsorted_contains : t -> string -> unit *)
75 val text_size : t -> int
76 val doc_ids : t ->  [`Tree] node ->  [`Text] node *  [`Text] node 
77 val subtree_tags : t -> Tag.t ->  [`Tree] node -> int
78 val get_text : t -> [`Tree] node ->  string
79 val get_text_id : t -> [`Tree] node ->  [`Text ] node
80
81 val dump_tree : Format.formatter -> t -> unit
82 val subtree_size : t -> [`Tree] node -> int
83 val subtree_elements : t -> [`Tree] node -> int
84 val text_below : t -> [`Tree] node -> [`Tree] node
85 val text_next :  t -> [`Tree] node -> [`Tree] node -> [`Tree] node 
86
87 val closing : t -> [`Tree] node -> [`Tree] node
88 val is_open : t -> [`Tree] node -> bool
89
90 val benchmark_jump : t -> Tag.t -> unit
91 val benchmark_fcns : t -> int
92 val benchmark_lcps : t -> unit
93 val stats : t -> unit
94
95 val test_suffix : t -> string -> int
96 val test_prefix : t -> string -> int
97 val test_equals : t -> string -> int
98 val test_contains : t -> string -> int