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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ByteSliceReader.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 BYTESLICEREADER_H
8 #define BYTESLICEREADER_H
9 
10 #include "IndexInput.h"
11 
12 namespace Lucene {
13 
16 class ByteSliceReader : public IndexInput {
17 public:
19  virtual ~ByteSliceReader();
20 
22 
23 public:
25  int32_t bufferUpto;
26  ByteArray buffer;
27  int32_t upto;
28  int32_t limit;
29  int32_t level;
30  int32_t bufferOffset;
31  int32_t endIndex;
32 
33 public:
34  void init(const ByteBlockPoolPtr& pool, int32_t startIndex, int32_t endIndex);
35  bool eof();
36 
38  virtual uint8_t readByte();
39 
40  int64_t writeTo(const IndexOutputPtr& out);
41 
42  void nextSlice();
43 
45  virtual void readBytes(uint8_t* b, int32_t offset, int32_t length);
46 
48  virtual int64_t getFilePointer();
49 
51  virtual int64_t length();
52 
54  virtual void seek(int64_t pos);
55 
57  virtual void close();
58 };
59 
60 }
61 
62 #endif

clucene.sourceforge.net