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 
2 // Copyright (c) 2009-2014 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 public:
38  MultiLevelSkipListWriter(int32_t skipInterval, int32_t maxSkipLevels, int32_t df);
39  virtual ~MultiLevelSkipListWriter();
40 
42 
43 protected:
45  int32_t numberOfSkipLevels;
46 
48  int32_t skipInterval;
49 
52 
53 public:
57  void bufferSkip(int32_t df);
58 
62  int64_t writeSkip(const IndexOutputPtr& output);
63 
64 protected:
65  void init();
66  virtual void resetSkip();
67 
71  virtual void writeSkipData(int32_t level, const IndexOutputPtr& skipBuffer) = 0;
72 };
73 
74 }
75 
76 #endif

clucene.sourceforge.net