Class RollingCharBuffer
Acts like a forever growing char[] as you read
characters into it from the provided reader, but
internally it uses a circular buffer to only hold the
characters that haven't been freed yet. This is like a
PushbackReader, except you don't have to specify
up-front the max size of the buffer, but you do have to
periodically call FreeBefore(int).
Inheritance
RollingCharBuffer
Assembly: Lucene.Net.Analysis.Common.dll
Syntax
public sealed class RollingCharBuffer
Methods
FreeBefore(int)
Call this to notify us that no chars before this
absolute position are needed anymore.
Declaration
public void FreeBefore(int pos)
Parameters
Type |
Name |
Description |
int |
pos |
|
Get(int)
Absolute position read. NOTE: pos must not jump
ahead by more than 1! Ie, it's OK to read arbitarily
far back (just not prior to the last FreeBefore(int),
but NOT ok to read arbitrarily far
ahead. Returns -1 if you hit EOF.
Declaration
Parameters
Type |
Name |
Description |
int |
pos |
|
Returns
Get(int, int)
Acts like a forever growing char[] as you read
characters into it from the provided reader, but
internally it uses a circular buffer to only hold the
characters that haven't been freed yet. This is like a
PushbackReader, except you don't have to specify
up-front the max size of the buffer, but you do have to
periodically call FreeBefore(int).
Declaration
public char[] Get(int posStart, int length)
Parameters
Type |
Name |
Description |
int |
posStart |
|
int |
length |
|
Returns
Reset(TextReader)
Clear array and switch to new reader.
Declaration
public void Reset(TextReader reader)
Parameters