X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=TextCollection.h;h=dbc79822fe5bb33f7752fe65be84fc2d056b3f6c;hb=2dba1ef94915ba5c1a06c3756d6dd0333605a5f7;hp=dad5c880ad4e7db431d0d6819cf49ecefe8c0105;hpb=40ddf9aca842bdc081b6350a4ebfe36b066c94c9;p=SXSI%2FTextCollection.git diff --git a/TextCollection.h b/TextCollection.h index dad5c88..dbc7982 100644 --- a/TextCollection.h +++ b/TextCollection.h @@ -25,9 +25,6 @@ #include #include // Defines std::pair. -// Default samplerate for suffix array samples -#define TEXTCOLLECTION_DEFAULT_SAMPLERATE 64 - namespace SXSI { @@ -78,8 +75,22 @@ namespace SXSI * * Returns the i'th text in the collection. * The numbering starts from 0. + * + * Call DeleteText() for each pointer returned by GetText() + * to avoid possible memory leaks. */ virtual uchar* GetText(DocId) const = 0; + virtual void DeleteText(uchar *text) const = 0; + + /** + * Returns a pointer to the beginning of texts i, i+1, ..., j. + * Texts are separated by a '\0' byte. + * + * Call DeleteText() for each pointer returned by GetText() + * to avoid possible memory leaks. + */ + virtual uchar * GetText(DocId i, DocId j) const = 0; + /** * Returns substring [i, j] of k'th text * @@ -156,7 +167,9 @@ namespace SXSI virtual document_result Equal(uchar const *) const = 0; virtual document_result Contains(uchar const *) const = 0; virtual document_result LessThan(uchar const *) const = 0; - + virtual document_result KMismaches(uchar const *, unsigned) const = 0; + virtual document_result KErrors(uchar const *, unsigned) const = 0; + /** * Document reporting queries for given DocId interval. */ @@ -177,6 +190,9 @@ namespace SXSI // Full reporting query for given DocId interval virtual full_result FullContains(uchar const *, DocId, DocId) const = 0; + virtual full_result FullKMismatches(uchar const *, unsigned) const = 0; + virtual full_result FullKErrors(uchar const *, unsigned) const = 0; + protected: // Protected constructor; use TextCollectionBuilder TextCollection() { };