#include <static_sequence.h>\r
using SXSI::TextCollection;\r
using SXSI::TextCollectionBuilder;\r
-using SXSI::TextStorage;\r
+\r
\r
// this constant is used to efficiently compute the child operation in the tree\r
#define OPTD 10\r
TextCollection::document_result LessThan(uchar const *s) {\r
return Text->LessThan(s);\r
}\r
-\r
- /** KMismatches (s): returns document identifiers for the texts that\r
- * contain occurrence of string s with at most K mismatches. */\r
- TextCollection::document_result KMismatches(uchar const *s, unsigned K) {\r
- return Text->KMismatches(s, K);\r
- }\r
-\r
- /** KErrors (s): returns document identifiers for the texts that\r
- * contain occurrence of string s with at most K errors. \r
- * The accepted "errors" are insertions, deletions and mutations of chars.\r
- */\r
- TextCollection::document_result KErrors(uchar const *s, unsigned K) {\r
- return Text->KErrors(s, K);\r
- }\r
\r
/** IsPrefix(x): returns true if there is a text prefixed by string s. */\r
bool IsPrefix(uchar const *s) {\r
}\r
\r
/** GetText(d): returns the text corresponding to document with\r
- * id d. \r
- *\r
- * Implementation of GetText() may or may NOT \r
- * require you to free() the pointer that is returned.\r
- * Call DeleteText() for each pointer returned by GetText()\r
- * to avoid possible memory leaks.\r
- */\r
- uchar* GetText(DocID d) const {\r
- return Text->GetText(d);\r
- }\r
-\r
- /**\r
- * Free the pointer returned by GetText().\r
- */\r
- void DeleteText(uchar *text) const {\r
- Text->DeleteText(text);\r
+ * id d. */\r
+ uchar* GetText(DocID d) {\r
+ uchar * s = Text->GetText(d);\r
+ return (s[0] == 1 ? (uchar*)"" : s);\r
}\r
\r
/** GetText(i, j): returns the texts corresponding to documents with\r
- * ids i, i+1, ..., j. Texts are separated by '\0' character. \r
- *\r
- * Call DeleteText() for each pointer returned by GetText()\r
- * to avoid possible memory leaks.\r
- */\r
- uchar* GetText(DocID i, DocID j) const {\r
- return Text->GetText(i, j);\r
- }\r
-\r
+ * ids i, i+1, ..., j. Texts are separated by '\0' character. */\r
+ // uchar* GetText(DocID i, DocID j) {\r
+ // uchar * s = Text->GetText(i, j);\r
+ // return (s[0] == 1 ? (uchar*)"" : s);\r
+ //}\r
\r
TextCollection *getTextCollection() {\r
return Text;\r
void insertTag(TagType tag, uint position);\r
\r
void print_stats();\r
+\r
+ treeNode Closing(treeNode x);\r
+ bool IsOpen(treeNode x);\r
+\r
};\r
#endif\r
\r