public TableStreamRun( IDataModel model, int start, SortedSpan <int> sources, string formatString, IReadOnlyList <ArrayRunElementSegment> parsedSegments, IStreamEndStrategy endStream ) : this(model, start, sources, formatString, parsedSegments, endStream, -1) { }
public TableStreamRun(IDataModel model, int start, SortedSpan <int> sources, string formatString, IReadOnlyList <ArrayRunElementSegment> segments, IStreamEndStrategy endStream) : base(start, sources) { this.model = model; ElementContent = segments; this.endStream = endStream; ElementLength = segments.Sum(segment => segment.Length); ElementCount = endStream.GetCount(start, ElementLength, sources); Length = ElementLength * ElementCount + endStream.ExtraLength; FormatString = formatString; }
public TableStreamRun(IDataModel model, int start, SortedSpan <int> sources, string formatString, IReadOnlyList <ArrayRunElementSegment> parsedSegments, IStreamEndStrategy endStream) : base(start, sources) { if (parsedSegments == null) { parsedSegments = ArrayRun.ParseSegments(formatString.Substring(1, formatString.Length - 2), model); } this.model = model; ElementContent = parsedSegments; this.endStream = endStream; ElementLength = parsedSegments.Sum(segment => segment.Length); ElementCount = endStream.GetCount(start, ElementLength, sources); Length = ElementLength * ElementCount + endStream.ExtraLength; FormatString = formatString; }