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(Int32).
Inheritance
System.Object
RollingCharBuffer
Namespace: Lucene.Net.Analysis.Util
Assembly: Lucene.Net.Analysis.Common.dll
Syntax
public sealed class RollingCharBuffer : object
Methods
| Improve this Doc View SourceFreeBefore(Int32)
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 |
---|---|---|
System.Int32 | pos |
Get(Int32)
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(Int32), but NOT ok to read arbitrarily far ahead. Returns -1 if you hit EOF.
Declaration
public int Get(int pos)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | pos |
Returns
Type | Description |
---|---|
System.Int32 |
Get(Int32, Int32)
Declaration
public char[] Get(int posStart, int length)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | posStart | |
System.Int32 | length |
Returns
Type | Description |
---|---|
System.Char[] |
Reset(TextReader)
Clear array and switch to new reader.
Declaration
public void Reset(TextReader reader)
Parameters
Type | Name | Description |
---|---|---|
TextReader | reader |