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
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
An efficient implementation of QueryParserCharStream interface.
Definition: FastCharStream.h:18
int32_t bufferLength
Definition: FastCharStream.h:29
virtual void backup(int32_t amount)
Backs up the input stream by amount steps. Lexer calls this method if it had already read some charac...
virtual wchar_t BeginToken()
Returns the next character that marks the beginning of the next token. All characters must remain in ...
int32_t bufferPosition
Definition: FastCharStream.h:30
int32_t tokenStart
Definition: FastCharStream.h:32
virtual String GetImage()
Returns a string made up of characters from the marked token beginning to the current buffer position...
ReaderPtr input
Definition: FastCharStream.h:35
virtual int32_t getEndColumn()
Returns the column number of the last character for current token (being matched after the last call ...
virtual int32_t getLine()
Returns the line number of the character last read.
CharArray buffer
Definition: FastCharStream.h:24
virtual int32_t getBeginLine()
Returns the line number of the first character for current token (being matched after the last call t...
FastCharStream(const ReaderPtr &reader)
Constructs from a Reader.
virtual int32_t getBeginColumn()
Returns the column number of the first character for current token (being matched after the last call...
virtual int32_t getEndLine()
Returns the line number of the last character for current token (being matched after the last call to...
virtual wchar_t readChar()
Returns the next character from the selected input. The method of selecting the input is the responsi...
virtual void Done()
The lexer calls this function to indicate that it is done with the stream and hence implementations c...
virtual int32_t getColumn()
Returns the column position of the character last read.
virtual CharArray GetSuffix(int32_t length)
Returns an array of characters that make up the suffix of length for the currently matched token....
int32_t bufferStart
Definition: FastCharStream.h:33
Base class for all Lucene classes.
Definition: LuceneObject.h:31
This interface describes a character stream that maintains line and column number positions of the ch...
Definition: QueryParserCharStream.h:22
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< Reader > ReaderPtr
Definition: LuceneTypes.h:547

clucene.sourceforge.net