##// END OF EJS Templates
refactoring complete, JSONParser rewritten
refactoring complete, JSONParser rewritten

File last commit:

r176:0c3c69fe225b ref20160224
r180:c32688129f14 ref20160224
Show More
StringScanner.cs
26 lines | 651 B | text/x-csharp | CSharpLexer
using System;
namespace Implab.Formats {
public class StringScanner: TextScanner {
const int CHUNK_SIZE = 1024;
readonly string m_text;
int m_pos;
public StringScanner(string text) : base(text.Length, text.Length < CHUNK_SIZE ? text.Length : CHUNK_SIZE) {
m_text = text;
Feed();
}
protected override int Read(char[] buffer, int offset, int size) {
var actual = size + m_pos > m_text.Length ? m_text.Length - m_pos : size;
m_text.CopyTo(m_pos,buffer,offset, actual);
m_pos += actual;
return actual;
}
}
}