X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Ftree.mli;h=883538d2d0d4da6199594802928393ad10e3b985;hb=798507d52a5c11a6d852740056464241538fe76a;hp=db15525b6e34edd60416edcb3883102504c30cc8;hpb=a6baedc6c67cb1de0587a779f8bcddf276b0bf4c;p=SXSI%2Fxpathcomp.git diff --git a/src/tree.mli b/src/tree.mli index db15525..883538d 100644 --- a/src/tree.mli +++ b/src/tree.mli @@ -7,7 +7,6 @@ val parse_xml_uri : string -> t val parse_xml_string : string -> t val save : t -> string -> unit val load : ?sample:int -> ?load_text:bool -> string -> t -val tag_pool : t -> Tag.pool val nil : node @@ -16,32 +15,30 @@ val size : t -> int val is_root : node -> bool val is_nil : node -> bool -type unordered_set +type tag_list -val unordered_set_of_set : Ptset.Int.t -> unordered_set +val tag_list_of_set : Ptset.Int.t -> tag_list val first_child : t -> node -> node val first_element : t -> node -> node val tagged_child : t -> node -> Tag.t -> node -val select_child : t -> node -> unordered_set -> node +val select_child : t -> node -> tag_list -> node val next_sibling : t -> node -> node val prev_sibling : t -> node -> node val next_element : t -> node -> node -val next_node_before : t -> node -> node -> node -val tagged_following_sibling : t -> node -> Tag.t -> node -val select_following_sibling : t -> node -> unordered_set -> node +val tagged_sibling : t -> node -> Tag.t -> node +val select_sibling : t -> node -> tag_list -> node val tagged_descendant : t -> node -> Tag.t -> node val tagged_next : t -> node -> Tag.t -> node -val select_descendant : t -> node -> unordered_set -> node +val select_descendant : t -> node -> tag_list -> node val tagged_following_before : t -> node -> Tag.t -> node -> node -val select_following_before : t -> node -> unordered_set -> node -> node +val select_following_before : t -> node -> tag_list -> node -> node val parent : t -> node -> node -val binary_parent : t -> node -> node val is_first_child : t -> node -> bool val is_right_descendant : t -> node -> node -> bool @@ -68,7 +65,8 @@ val closing : t -> node -> node val stats : t -> unit val num_tags : t -> int -val tag_pool : t -> Tag.pool + +val tag_operations : t -> Tag.operations val print_xml : t -> node -> Unix.file_descr -> unit val flush : t -> Unix.file_descr -> unit @@ -86,3 +84,13 @@ val full_text_suffix : t -> string -> node array val full_text_equals : t -> string -> node array val full_text_contains : t -> string -> node array + +type bit_vector +val bit_vector_create : int -> bit_vector +val bit_vector_unsafe_set : bit_vector -> int -> bool -> unit +val bit_vector_unsafe_get : bit_vector -> int -> bool + +val reinit : unit -> unit + +type tree_pointer +val get_tree_pointer : t -> tree_pointer