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
BufferedReader.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 BUFFEREDREADER_H
8
#define BUFFEREDREADER_H
9
10
#include "
Reader.h
"
11
12
namespace
Lucene {
13
16
class
LPPAPI
BufferedReader
:
public
Reader
{
17
public
:
19
BufferedReader
(
const
ReaderPtr
& reader, int32_t size = READER_BUFFER);
20
virtual
~
BufferedReader
();
21
22
LUCENE_CLASS
(
BufferedReader
);
23
24
protected
:
25
ReaderPtr
reader;
26
int32_t
bufferSize
;
27
int32_t
bufferLength
;
// end of valid bytes
28
int32_t
bufferPosition
;
// next byte to read
29
CharArray
buffer
;
30
31
public
:
32
static
const
int32_t
READER_BUFFER
;
33
34
public
:
36
virtual
int32_t read();
37
39
virtual
int32_t read(
wchar_t
* b, int32_t offset, int32_t length);
40
42
virtual
bool
readLine(String& line);
43
45
virtual
void
close();
46
48
virtual
bool
markSupported();
49
51
virtual
void
reset();
52
53
protected
:
55
int32_t refill();
56
58
int32_t peek();
59
};
60
61
}
62
63
#endif
clucene.sourceforge.net