##// END OF EJS Templates
Adde workaround to the behaviour of the logical operations stack in conjuction...
Adde workaround to the behaviour of the logical operations stack in conjuction with async/await methods

File last commit:

r230:3e26338eb977 v2
r255:b00441e04738 v3
Show More
JsonTextScanner.cs
49 lines | 1.7 KiB | text/x-csharp | CSharpLexer
cin
slowly cutting off mono specific settings
r230 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Implab.Formats.Json {
public class JsonTextScanner : JsonScanner {
const int _bufferSize = 16*4096;
readonly TextReader m_reader;
JsonTextScanner(TextReader reader, char[] buffer) : base(buffer, 0, 0) {
m_reader = reader;
}
protected override int Read(char[] buffer, int offset, int size) {
return m_reader.Read(buffer, offset, size);
}
public static JsonTextScanner Create(string file, Encoding encoding) {
return new JsonTextScanner(new StreamReader(file, encoding), new char[_bufferSize]);
}
public static JsonTextScanner Create(string file) {
return new JsonTextScanner(new StreamReader(file), new char[_bufferSize]);
}
public static JsonTextScanner Create(Stream stream, Encoding encoding) {
return new JsonTextScanner(new StreamReader(stream, encoding), new char[_bufferSize]);
}
public static JsonTextScanner Create(Stream stream) {
return new JsonTextScanner(new StreamReader(stream), new char[_bufferSize]);
}
public static JsonTextScanner Create(TextReader reader) {
Safe.ArgumentNotNull(reader, nameof(reader));
return new JsonTextScanner(reader, new char[_bufferSize]);
}
protected override void Dispose(bool disposing) {
if (disposing)
Safe.Dispose(m_reader);
base.Dispose(disposing);
}
}
}