internal RangeEnumerator(BlockRange range) { Contract.Requires(range.block != null); Contract.Requires(range.Count >= 0); this.range = range; this.start = 0; this.end = this.start + range.Count; this.current = this.start - 1; }
internal static unsafe string GetString(BlockRange range, Encoding encoding) { Contract.Requires(encoding != null); if (range.Count == 0) { return(null); } var handle = (IntPtr)range; return(encoding.GetString((byte *)handle, range.Count)); }