/// <summary> /// Sorts all data using the specified comparer /// </summary> /// <param name="comparer">The comparer.</param> /// <returns></returns> public ISortedChangeSet <TObject, TKey> Sort(IComparer <TObject> comparer) { lock (_locker) { _comparer = new KeyValueComparer <TObject, TKey>(comparer); return(DoSort(SortReason.ComparerChanged)); } }
public Sorter(SortOptimisations optimisations, IComparer <TObject> comparer = null, int resetThreshold = -1) { _optimisations = optimisations; _resetThreshold = resetThreshold; _updater = new IntermediateUpdater <TObject, TKey>(_cache); _comparer = new KeyValueComparer <TObject, TKey>(comparer); }
public IChangeSet <TObject, TKey> ChangeComparer(KeyValueComparer <TObject, TKey> comparer) { _comparer = comparer; _list = _list.OrderBy(kv => kv, _comparer).ToList(); return(ChangeSet <TObject, TKey> .Empty); }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public IndexCalculator(KeyValueComparer <TObject, TKey> comparer, SortOptimisations optimisations) { _comparer = comparer; _optimisations = optimisations; _list = new List <KeyValuePair <TKey, TObject> >(); }