X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;ds=sidebyside;f=TCImplementation.h;h=e8e8c4bb04a480a186a39abca273b0cad87fc055;hb=2dba1ef94915ba5c1a06c3756d6dd0333605a5f7;hp=75f1d40366f35191de41642cd984c5480705074b;hpb=7cdaf25b1e5f1890e359b3ad37ab7ec2c9e30d5a;p=SXSI%2FTextCollection.git diff --git a/TCImplementation.h b/TCImplementation.h index 75f1d40..e8e8c4b 100644 --- a/TCImplementation.h +++ b/TCImplementation.h @@ -20,6 +20,9 @@ #ifndef _TCImplementation_H_ #define _TCImplementation_H_ + +#include "incbwt/bits/deltavector.h" + #include "BitRank.h" #include "TextCollection.h" #include "BlockArray.h" @@ -41,8 +44,11 @@ #undef bitset #undef bitget + #include "TextStorage.h" +#include "ArrayDoc.h" #include +#include namespace SXSI { @@ -54,7 +60,8 @@ namespace SXSI */ class TCImplementation : public SXSI::TextCollection { public: - TCImplementation(uchar *, ulong, unsigned, unsigned, ulong, ulong, char); + TCImplementation(uchar *, ulong, unsigned, unsigned, ulong, ulong, + CSA::DeltaVector &, const std::string &, char); ~TCImplementation(); bool EmptyText(DocId) const; @@ -157,7 +164,8 @@ private: ulong maxTextLength; // Array of document id's in the order of end-markers in BWT - static_sequence *Doc; +// static_sequence *Doc; + ArrayDoc *Doc; // Text storage for fast extraction TextStorage * textStorage; @@ -165,7 +173,7 @@ private: // Following methods are not part of the public API uchar * BWT(uchar *); void makewavelet(uchar *); - void maketables(ulong, char); + void maketables(ulong, char, CSA::DeltaVector &, const string &); DocId DocIdAtTextPos(BlockArray*, TextPosition) const; ulong Search(uchar const *, TextPosition, TextPosition *, TextPosition *) const; ulong Search(uchar const *, TextPosition, TextPosition *, TextPosition *, DocId, DocId) const;