Mercurial > pub > ImplabNet
comparison Implab/Formats/ReaderScanner.cs @ 192:f1da3afc3521 release v2.1
Слияние с v2
author | cin |
---|---|
date | Fri, 22 Apr 2016 13:10:34 +0300 |
parents | 4f82e0f161c3 |
children |
comparison
equal
deleted
inserted
replaced
71:1714fd8678ef | 192:f1da3afc3521 |
---|---|
1 using System; | |
2 using System.IO; | |
3 | |
4 namespace Implab.Formats { | |
5 public class ReaderScanner: TextScanner { | |
6 const int CHUNK_SIZE = 1024*4; | |
7 const int BUFFER_MAX = CHUNK_SIZE*1024; | |
8 | |
9 readonly TextReader m_reader; | |
10 | |
11 public ReaderScanner(TextReader reader, int limit, int chunk) : base(limit, chunk) { | |
12 Safe.ArgumentNotNull(reader, "reader"); | |
13 m_reader = reader; | |
14 } | |
15 | |
16 public ReaderScanner(TextReader reader) : this(reader, BUFFER_MAX, CHUNK_SIZE) { | |
17 } | |
18 | |
19 protected override int Read(char[] buffer, int offset, int size) { | |
20 return m_reader.Read(buffer, offset, size); | |
21 } | |
22 | |
23 protected override void Dispose(bool disposing) { | |
24 if (disposing) | |
25 Safe.Dispose(m_reader); | |
26 base.Dispose(disposing); | |
27 } | |
28 } | |
29 } | |
30 |