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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

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 {
36 class MultiLevelSkipListWriter : public LuceneObject
37 {
38 public:
39 MultiLevelSkipListWriter(int32_t skipInterval, int32_t maxSkipLevels, int32_t df);
40 virtual ~MultiLevelSkipListWriter();
41
42 LUCENE_CLASS(MultiLevelSkipListWriter);
43
44 protected:
46 int32_t numberOfSkipLevels;
47
49 int32_t skipInterval;
50
52 Collection<RAMOutputStreamPtr> skipBuffer;
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