X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=CSA.h;fp=CSA.h;h=eab3637c4052d0226c37170f100017d4593db17d;hb=3d2ba0261930887bf1e223ebe00b09937c76cbf2;hp=be9a2f9246f120bcae166441e01d068fe65df34b;hpb=1ea86bc7fdc05347b46919374f071920fec8adb5;p=SXSI%2FTextCollection.git diff --git a/CSA.h b/CSA.h index be9a2f9..eab3637 100644 --- a/CSA.h +++ b/CSA.h @@ -82,22 +82,41 @@ public: bool IsContains(uchar const *) const; bool IsLessThan(uchar const *) const; + bool IsPrefix(uchar const *, DocId, DocId) const; + bool IsSuffix(uchar const *, DocId, DocId) const; + bool IsEqual(uchar const *, DocId, DocId) const; + bool IsContains(uchar const *, DocId, DocId) const; + bool IsLessThan(uchar const *, DocId, DocId) const; + ulong Count(uchar const *) const; unsigned CountPrefix(uchar const *) const; unsigned CountSuffix(uchar const *) const; unsigned CountEqual(uchar const *) const; unsigned CountContains(uchar const *) const; unsigned CountLessThan(const unsigned char*) const; + + unsigned CountPrefix(uchar const *, DocId, DocId) const; + unsigned CountSuffix(uchar const *, DocId, DocId) const; + unsigned CountEqual(uchar const *, DocId, DocId) const; + unsigned CountContains(uchar const *, DocId, DocId) const; + unsigned CountLessThan(uchar const *, DocId, DocId) const; - // document_result is inherited from SXSI::TextCollection. + // Definition of document_result is inherited from SXSI::TextCollection. document_result Prefix(uchar const *) const; document_result Suffix(uchar const *) const; document_result Equal(uchar const *) const; document_result Contains(uchar const *) const; document_result LessThan(uchar const *) const; - // full_result is inherited from SXSI::TextCollection. + document_result Prefix(uchar const *, DocId, DocId) const; + document_result Suffix(uchar const *, DocId, DocId) const; + document_result Equal(uchar const *, DocId, DocId) const; + document_result Contains(uchar const *, DocId, DocId) const; + document_result LessThan(uchar const *, DocId, DocId) const; + + // Definition of full_result is inherited from SXSI::TextCollection. full_result FullContains(uchar const *) const; + full_result FullContains(uchar const *, DocId, DocId) const; // Index from/to disk void Load(FILE *, unsigned); @@ -303,6 +322,7 @@ private: void maketables(); DocId DocIdAtTextPos(BlockArray*, TextPosition) const; ulong Search(uchar const *, TextPosition, TextPosition *, TextPosition *) const; + ulong Search(uchar const *, TextPosition, TextPosition *, TextPosition *, DocId, DocId) const; ulong SearchLessThan(uchar const *, TextPosition, TextPosition *, TextPosition *) const; // TextPosition Inverse(TextPosition) const; // TextPosition LF(uchar c, TextPosition &sp, TextPosition &ep) const; @@ -324,6 +344,7 @@ private: return alphabetrank->rank(0, ep) - ranksp; } + unsigned CountEndmarkers(TextPosition, TextPosition, DocId, DocId) const; }; // class CSA } // namespace SXSI