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
include
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