// Define a shortcut
typedef TextCollection::TextPosition TextPosition;
// Block size in DeltaVector
- const static CSA::usint DV_BLOCK_SIZE = 16;
-
+ const static CSA::usint DV_BLOCK_SIZE = 32;
TextStorage(uchar *text, TextPosition n)
: n_(n), text_(text), offsets_(0), numberOfTexts_(0)
uchar * GetText(TextCollection::DocId docId)
{
- assert(docId < numberOfTexts_);
+ assert(docId < (TextCollection::DocId)numberOfTexts_);
TextPosition offset = offsets_->select(docId);
return &text_[offset];
}
+ TextCollection::DocId DocIdAtTextPos(TextCollection::TextPosition i)
+ {
+ assert(i < n_);
+ return offsets_->rank(i)-1;
+ }
+ TextCollection::TextPosition TextStartPos(TextCollection::DocId i)
+ {
+ assert(i < (TextCollection::DocId)numberOfTexts_);
+ return offsets_->select(i);
+ }
private:
void initOffsets()