Added wrapper for TextCollection->Count(s)
[SXSI/XMLTree.git] / XMLTree.h
index 3bfb7a4..1f8df57 100644 (file)
--- a/XMLTree.h
+++ b/XMLTree.h
@@ -122,6 +122,7 @@ class XMLTree {
    bool disable_tc;\r
    \r
 public:\r
+        void print_stats();\r
 \r
    /** Data structure constructor */\r
    XMLTree() {finished = false; initialized = false;}; \r
@@ -206,9 +207,21 @@ public:
     * is none. */\r
    treeNode TaggedDesc(treeNode x, TagType tag);\r
 \r
-   /** TaggedNext(x,tag): returns the first node tagged tag with larger \r
-    * preorder than x. Returns NULT if there is none. */\r
-   treeNode TaggedNext(treeNode x, TagType tag);\r
+\r
+   treeNode TaggedBelow(treeNode x, TagType *childtags, unsigned int ctlen,\r
+                                TagType *desctags, unsigned int dtlen);\r
+   \r
+   treeNode TaggedNext(treeNode x, TagType *childtags, unsigned int ctlen,\r
+                               TagType *folltags, unsigned int flen,treeNode root);\r
+\r
+   treeNode TaggedDescOnly(treeNode x, TagType *desctags, unsigned int dtlen);\r
+   \r
+   treeNode TaggedDescOrFollOnly(treeNode x, TagType *folltags, unsigned int flen,\r
+                          treeNode root);\r
+\r
+   treeNode TaggedFollOnly(treeNode x, TagType *folltags, unsigned int flen,\r
+                          treeNode root);\r
+   \r
 \r
    /** TaggedPrec(x,tag): returns the first node tagged tag with smaller \r
     * preorder than x and not an ancestor of x. Returns NULLT if there \r
@@ -219,6 +232,7 @@ public:
     * preorder than x and not in the subtree of x. Returns NULLT if there \r
     * is none. */\r
    treeNode TaggedFoll(treeNode x, TagType tag);\r
+     \r
   \r
    /** TaggedFollowingSibling(x,tag) */\r
    treeNode TaggedFollowingSibling(treeNode x, TagType tag);\r
@@ -249,6 +263,7 @@ public:
    \r
    /** ParentNode(d): returns the parent node of document identifier d. */\r
    treeNode ParentNode(DocID d);\r
+   treeNode PrevNode(DocID d);\r
 \r
    /** OpenDocument(empty_texts,sample_rate_text,dtc): initilizes the construction\r
     * of the data structure for the XML document. Parameter empty_texts \r
@@ -370,6 +385,11 @@ public:
    bool IsLessThan(uchar const *s) {\r
       return Text->IsLessThan(s);\r
    }\r
+   \r
+   /** Count(s): Global counting  */\r
+   unsigned Count(uchar const *s) {\r
+      return Text->Count(s);\r
+   }\r
 \r
    /** CountPrefix(s): counting version of Prefix(s). */\r
    unsigned CountPrefix(uchar const *s) {\r