Lucene++ - a full-featured, c++ search engine
API Documentation


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MultiLevelSkipListWriter.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2011 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef MULTILEVELSKIPLISTWRITER_H
8 #define MULTILEVELSKIPLISTWRITER_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene
13 {
37  {
38  public:
39  MultiLevelSkipListWriter(int32_t skipInterval, int32_t maxSkipLevels, int32_t df);
40  virtual ~MultiLevelSkipListWriter();
41 
43 
44  protected:
46  int32_t numberOfSkipLevels;
47 
49  int32_t skipInterval;
50 
53 
54  public:
58  void bufferSkip(int32_t df);
59 
63  int64_t writeSkip(IndexOutputPtr output);
64 
65  protected:
66  void init();
67  virtual void resetSkip();
68 
72  virtual void writeSkipData(int32_t level, IndexOutputPtr skipBuffer) = 0;
73  };
74 }
75 
76 #endif

clucene.sourceforge.net