public TableStreamRun(
     IDataModel model,
     int start,
     SortedSpan <int> sources,
     string formatString,
     IReadOnlyList <ArrayRunElementSegment> parsedSegments,
     IStreamEndStrategy endStream
     ) : this(model, start, sources, formatString, parsedSegments, endStream, -1)
 {
 }
示例#2
0
 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;
 }
示例#3
0
 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;
 }