using System; using System.Collections.Generic; namespace System.Linq { // Token: 0x02000041 RID: 65 internal class OrderedSequence : OrderedEnumerable { // Token: 0x060003A1 RID: 929 RVA: 0x00010F84 File Offset: 0x0000F184 internal OrderedSequence(IEnumerable source, Func key_selector, IComparer comparer, SortDirection direction) : base(source) { this.selector = key_selector; this.comparer = comparer ?? Comparer.Default; this.direction = direction; } // Token: 0x060003A2 RID: 930 RVA: 0x00010FB0 File Offset: 0x0000F1B0 internal OrderedSequence(OrderedEnumerable parent, IEnumerable source, Func keySelector, IComparer comparer, SortDirection direction) : this(source, keySelector, comparer, direction) { this.parent = parent; } // Token: 0x060003A3 RID: 931 RVA: 0x00010FC8 File Offset: 0x0000F1C8 public override SortContext CreateContext(SortContext current) { SortContext sortContext = new SortSequenceContext(this.selector, this.comparer, this.direction, current); if (this.parent != null) { return this.parent.CreateContext(sortContext); } return sortContext; } // Token: 0x060003A4 RID: 932 RVA: 0x00011008 File Offset: 0x0000F208 protected override IEnumerable Sort(IEnumerable source) { return QuickSort.Sort(source, this.CreateContext(null)); } // Token: 0x040000EC RID: 236 private OrderedEnumerable parent; // Token: 0x040000ED RID: 237 private Func selector; // Token: 0x040000EE RID: 238 private IComparer comparer; // Token: 0x040000EF RID: 239 private SortDirection direction; } }