7 #ifndef MULTILEVELSKIPLISTWRITER_H
8 #define MULTILEVELSKIPLISTWRITER_H
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition: LuceneTypes.h:494
void bufferSkip(int32_t df)
Writes the current skip data to the buffers. The current document frequency determines the max level ...
Collection< RAMOutputStreamPtr > skipBuffer
for every skip level a different buffer is used
Definition: MultiLevelSkipListWriter.h:51
int32_t skipInterval
the skip interval in the list with level = 0
Definition: MultiLevelSkipListWriter.h:48
MultiLevelSkipListWriter(int32_t skipInterval, int32_t maxSkipLevels, int32_t df)
Base class for all Lucene classes.
Definition: LuceneObject.h:31
virtual void writeSkipData(int32_t level, const IndexOutputPtr &skipBuffer)=0
Subclasses must implement the actual skip data encoding in this method.
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12
virtual ~MultiLevelSkipListWriter()
This abstract class writes skip lists with multiple levels.
Definition: MultiLevelSkipListWriter.h:36
int32_t numberOfSkipLevels
number of levels in this skip list
Definition: MultiLevelSkipListWriter.h:41
int64_t writeSkip(const IndexOutputPtr &output)
Writes the buffered skip lists to the given output.