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


FastCharStream.h
Go to the documentation of this file.
1 // 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 FASTCHARSTREAM_H
8 #define FASTCHARSTREAM_H
9 
10 #include "QueryParserCharStream.h"
11 
12 namespace Lucene {
13 
18 class LPPAPI FastCharStream : public QueryParserCharStream, public LuceneObject {
19 public:
21  FastCharStream(const ReaderPtr& reader);
22  virtual ~FastCharStream();
23 
25 
26 public:
27  CharArray buffer;
28 
29  int32_t bufferLength; // end of valid chars
30  int32_t bufferPosition; // next char to read
31 
32  int32_t tokenStart; // offset in buffer
33  int32_t bufferStart; // position in file of buffer
34 
35  ReaderPtr input; // source of chars
36 
37 public:
38  virtual wchar_t readChar();
39  virtual wchar_t BeginToken();
40  virtual void backup(int32_t amount);
41  virtual String GetImage();
42  virtual CharArray GetSuffix(int32_t length);
43  virtual void Done();
44  virtual int32_t getColumn();
45  virtual int32_t getLine();
46  virtual int32_t getEndColumn();
47  virtual int32_t getEndLine();
48  virtual int32_t getBeginColumn();
49  virtual int32_t getBeginLine();
50 
51 protected:
52  void refill();
53 };
54 
55 }
56 
57 #endif
Lucene::FastCharStream::bufferLength
int32_t bufferLength
Definition: FastCharStream.h:29
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::FastCharStream::bufferStart
int32_t bufferStart
Definition: FastCharStream.h:33
Lucene::FastCharStream::bufferPosition
int32_t bufferPosition
Definition: FastCharStream.h:30
Lucene::ReaderPtr
boost::shared_ptr< Reader > ReaderPtr
Definition: LuceneTypes.h:547
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::FastCharStream::tokenStart
int32_t tokenStart
Definition: FastCharStream.h:32
Lucene::FastCharStream::input
ReaderPtr input
Definition: FastCharStream.h:35
Lucene::QueryParserCharStream
This interface describes a character stream that maintains line and column number positions of the ch...
Definition: QueryParserCharStream.h:22
QueryParserCharStream.h
Lucene::FastCharStream
An efficient implementation of QueryParserCharStream interface.
Definition: FastCharStream.h:18

clucene.sourceforge.net