public static IReadOnlySpanList <T> GetSpanList <T>(this IIndexableSpans <T> model) { if (model == null) { return(IndexableSpans.Empty <T>()); } return(new IndexableSpanListAdapter <T>(model)); }
public static ListSegment <T> GetSpans <T>(this IReadOnlyList <T> spans, int start, int length) where T : ObjectModel.Span { IIndexableSpans <T> spansList = spans as IIndexableSpans <T>; if (spansList != null) { return(spansList.GetSpans(start: start, length: length)); } return(RangeHelper.GetRange(spans, new Range(start, length), minimumComparer: (range, span) => RangeHelper.MinCompare(range, new Range(span.Start, span.Length), inclusive: true), maximumComparer: (range, span) => RangeHelper.MaxCompare(range, new Range(span.Start, span.Length), inclusive: true))); }
public IndexableSpanListAdapter(IIndexableSpans <T> model) { this.model = model; }