using System.Runtime.CompilerServices; using System.Collections.Generic; using Recyclable.Collections.Linq; namespace Recyclable.Collections { [Obsolete("It'll be moved to Recyclable.Collections.Compatibility.List NuGet package in the next release.")] public static class zRecyclableLongListCompatibilityListSorted { public static void Sort(this RecyclableLongList list) { QuickSortExtensions.QuickSort(list); #if WITH_VERSIONING list._version++; #endif } public static void Sort(this RecyclableLongList list, Comparison comparison) { QuickSortExtensions.QuickSort(list, new ComparisonToComparerAdapter(comparison), new SystemRandomNumberGenerator()); #if WITH_VERSIONING list._version++; #endif } public static void Sort(this RecyclableLongList list, IComparer? comparer) { QuickSortExtensions.QuickSort(list, comparer ?? Comparer.Default, new SystemRandomNumberGenerator()); #if WITH_VERSIONING list._version++; #endif } public static void Sort(this RecyclableLongList list, long index, long count, IComparer? comparer) { if (count == 0) { return; } QuickSortExtensions.QuickSort(list, (int)index, (int)(index + count - 1), comparer ?? Comparer.Default, new SystemRandomNumberGenerator()); #if WITH_VERSIONING list._version++; #endif } } }