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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SegmentTermPositions.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 SEGMENTTERMPOSITIONS_H
8 #define SEGMENTTERMPOSITIONS_H
9 
10 #include "SegmentTermDocs.h"
11 
12 namespace Lucene
13 {
15  {
16  public:
18  virtual ~SegmentTermPositions();
19 
21 
22  protected:
24  int32_t proxCount;
25  int32_t position;
26 
28  int32_t payloadLength;
29 
32 
33  // these variables are being used to remember information for a lazy skip
34  int64_t lazySkipPointer;
36 
37  public:
39 
40  virtual void seek(TermInfoPtr ti, TermPtr term);
41  virtual void close();
42 
44  virtual int32_t nextPosition();
45 
47  virtual bool next();
48 
50  virtual int32_t read(Collection<int32_t> docs, Collection<int32_t> freqs);
51 
53  virtual int32_t getPayloadLength();
54 
56  virtual ByteArray getPayload(ByteArray data, int32_t offset);
57 
59  virtual bool isPayloadAvailable();
60 
61  protected:
62  int32_t readDeltaPosition();
63 
64  virtual void skippingDoc();
65 
66  virtual void skipProx(int64_t proxPointer, int32_t payloadLength);
67  virtual void skipPositions(int32_t n);
68  virtual void skipPayload();
69 
76  virtual void lazySkip();
77  };
78 }
79 
80 #endif

clucene.sourceforge.net