diff --git a/Recyclable.Collections.Compatibility.List/Recyclable.Collections.Compatibility.List.csproj b/Recyclable.Collections.Compatibility.List/Recyclable.Collections.Compatibility.List.csproj
index 15e743c..5f954d0 100644
--- a/Recyclable.Collections.Compatibility.List/Recyclable.Collections.Compatibility.List.csproj
+++ b/Recyclable.Collections.Compatibility.List/Recyclable.Collections.Compatibility.List.csproj
@@ -6,7 +6,7 @@
enable
true
Recyclable.Collections.Compatibility.List
- 0.0.2
+ 0.0.3
Marek LemaĆczyk
N/A
Recyclable.Collections.Compatibility.List
@@ -18,7 +18,7 @@
LICENSE.md
README.md
git
- Collections.Benchmarks.Core package updated. Bug fixes.
+ RecyclableLongList.Compatibility.List.Find(), .FindLast(), .ForEach() & .GetRange() implemented. Bug fixes.
AnyCPU;x64
logo.png
diff --git a/Recyclable.Collections.Compatibility.List/RecyclableList.Compatibility.List.cs b/Recyclable.Collections.Compatibility.List/RecyclableList.Compatibility.List.cs
index 7c7d3f0..d414ca0 100644
--- a/Recyclable.Collections.Compatibility.List/RecyclableList.Compatibility.List.cs
+++ b/Recyclable.Collections.Compatibility.List/RecyclableList.Compatibility.List.cs
@@ -6,6 +6,8 @@ using System.Runtime.CompilerServices;
using Recyclable.Collections.Compatibility.List.Properties;
using Recyclable.Collections.Pools;
+[assembly: InternalsVisibleTo("Recyclable.Collections.Compatibility.List.Tests")]
+
namespace Recyclable.Collections
{
diff --git a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.IndexOf.cs b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.IndexOf.cs
index 3f065ca..b4c509d 100644
--- a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.IndexOf.cs
+++ b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.IndexOf.cs
@@ -6,19 +6,19 @@ namespace Recyclable.Collections
public static class zzzRecyclableLongListCompatibilityListIndexOf
#pragma warning restore IDE1006 // Naming Styles
{
- public static int LastIndexOf(this RecyclableLongList list, T item)
+ internal static int LastIndexOf(this RecyclableLongList list, T item)
//=> list._count != 0
// ? Array.LastIndexOf(list._memoryBlock, item, list._count - 1)
// : RecyclableDefaults.ItemNotFoundIndex;
=> throw new NotImplementedException();
- public static int LastIndexOf(this RecyclableLongList list, T item, int index)
+ internal static int LastIndexOf(this RecyclableLongList list, T item, int index)
//=> list._count != 0
// ? Array.LastIndexOf(list._memoryBlock, item, index)
// : RecyclableDefaults.ItemNotFoundIndex;
=> throw new NotImplementedException();
- public static int LastIndexOf(this RecyclableLongList list, T item, int index, int count)
+ internal static int LastIndexOf(this RecyclableLongList list, T item, int index, int count)
//=> list._count != 0
// ? Array.LastIndexOf(list._memoryBlock, item, index, count)
// : RecyclableDefaults.ItemNotFoundIndex;
diff --git a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.InsertRange.cs b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.InsertRange.cs
index 17804a6..7e5c36d 100644
--- a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.InsertRange.cs
+++ b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.InsertRange.cs
@@ -90,7 +90,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, in Array items)
+ internal static void InsertRange(this RecyclableLongList list, int index, in Array items)
{
//if (list._capacity < list._count + items.Length)
//{
@@ -108,7 +108,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, in T[] items)
+ internal static void InsertRange(this RecyclableLongList list, int index, in T[] items)
{
//if (list._capacity < list._count + items.Length)
//{
@@ -126,7 +126,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, ReadOnlySpan items)
+ internal static void InsertRange(this RecyclableLongList list, int index, ReadOnlySpan items)
{
//if (list._capacity < list._count + items.Length)
//{
@@ -144,7 +144,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, Span items)
+ internal static void InsertRange(this RecyclableLongList list, int index, Span items)
{
//if (list._capacity < list._count + items.Length)
//{
@@ -162,7 +162,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, List items)
+ internal static void InsertRange(this RecyclableLongList list, int index, List items)
{
//if (list._capacity < list._count + items.Count)
//{
@@ -180,7 +180,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, ICollection items)
+ internal static void InsertRange(this RecyclableLongList list, int index, ICollection items)
{
//if (list._capacity < list._count + items.Count)
//{
@@ -198,7 +198,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, ICollection items)
+ internal static void InsertRange(this RecyclableLongList list, int index, ICollection items)
{
//if (list._capacity < list._count + items.Count)
//{
@@ -216,7 +216,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, RecyclableList items)
+ internal static void InsertRange(this RecyclableLongList list, int index, RecyclableList items)
{
//if (list._capacity < list._count + items._count)
//{
@@ -234,7 +234,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, RecyclableLongList items)
+ internal static void InsertRange(this RecyclableLongList list, int index, RecyclableLongList items)
{
//if (items._longCount == 0)
//{
@@ -287,7 +287,7 @@ namespace Recyclable.Collections
throw new NotImplementedException();
}
- public static void InsertRange(this RecyclableLongList list, int index, IEnumerable items, int growByCount = RecyclableDefaults.MinPooledArrayLength)
+ internal static void InsertRange(this RecyclableLongList list, int index, IEnumerable items, int growByCount = RecyclableDefaults.MinPooledArrayLength)
{
//var enumerator = items.GetEnumerator();
//if (!enumerator.MoveNext())
@@ -349,7 +349,7 @@ namespace Recyclable.Collections
throw new NotImplementedException();
}
- public static void InsertRange(this RecyclableLongList list, int index, IReadOnlyList items)
+ internal static void InsertRange(this RecyclableLongList list, int index, IReadOnlyList items)
{
//int sourceItemsCount = items.Count;
//if (list._capacity < list._count + sourceItemsCount)
@@ -370,7 +370,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
- public static void InsertRange(this RecyclableLongList list, int index, IEnumerable items, int growByCount = RecyclableDefaults.MinPooledArrayLength)
+ internal static void InsertRange(this RecyclableLongList list, int index, IEnumerable items, int growByCount = RecyclableDefaults.MinPooledArrayLength)
{
//if (items is RecyclableList sourceRecyclableList)
//{
diff --git a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.cs b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.cs
index 9a68879..d52303f 100644
--- a/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.cs
+++ b/Recyclable.Collections.Compatibility.List/RecyclableLongList.Compatibility.List.cs
@@ -463,7 +463,7 @@ namespace Recyclable.Collections
return result;
}
- public static int RemoveAll(this RecyclableLongList list, Predicate match)
+ internal static int RemoveAll(this RecyclableLongList list, Predicate match)
{
//using var allIndexes = zzzRecyclableListCompatibilityListFind.FindAllIndexes(list, match);
//int foundItemsCount = allIndexes._count;
@@ -490,7 +490,7 @@ namespace Recyclable.Collections
throw new NotImplementedException();
}
- public static void RemoveRange(this RecyclableLongList list, int index, int count)
+ internal static void RemoveRange(this RecyclableLongList list, int index, int count)
{
//int oldCount = list._count;
//count = count - index + 1 <= oldCount ? count : oldCount - index + 1;
@@ -516,7 +516,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Reverse(this RecyclableLongList list)
+ internal static void Reverse(this RecyclableLongList list)
{
//Array.Reverse(list._memoryBlock, 0, list._count);
//list._version++;
@@ -525,7 +525,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Reverse(this RecyclableLongList list, int index, int count)
+ internal static void Reverse(this RecyclableLongList list, int index, int count)
{
//Array.Reverse(list._memoryBlock, index, count);
//list._version++;
@@ -534,7 +534,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Sort(this RecyclableLongList list)
+ internal static void Sort(this RecyclableLongList list)
{
//Array.Sort(list._memoryBlock, 0, list._count);
//list._version++;
@@ -543,7 +543,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Sort(this RecyclableLongList list, Comparison comparison)
+ internal static void Sort(this RecyclableLongList list, Comparison comparison)
{
//Array.Sort(list._memoryBlock, 0, list._count, new ComparisonToComparerAdapter(comparison));
//list._version++;
@@ -552,7 +552,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Sort(this RecyclableLongList list, IComparer? comparer)
+ internal static void Sort(this RecyclableLongList list, IComparer? comparer)
{
//Array.Sort(list._memoryBlock, 0, list._count, comparer);
//list._version++;
@@ -561,7 +561,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void Sort(this RecyclableLongList list, int index, int count, IComparer? comparer)
+ internal static void Sort(this RecyclableLongList list, int index, int count, IComparer? comparer)
{
//Array.Sort(list._memoryBlock, index, count, comparer);
//list._version++;
@@ -570,7 +570,7 @@ namespace Recyclable.Collections
}
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static T[] ToArray(this RecyclableLongList list)
+ internal static T[] ToArray(this RecyclableLongList list)
{
//T[] result = new T[list._count];
//new ReadOnlySpan(list._memoryBlock, 0, list._count).CopyTo(result);
@@ -579,7 +579,7 @@ namespace Recyclable.Collections
throw new NotImplementedException();
}
- public static void TrimExcess(this RecyclableLongList list)
+ internal static void TrimExcess(this RecyclableLongList list)
{
//var requiredCapacity = list._count >= RecyclableDefaults.InitialCapacity ? list._count : RecyclableDefaults.InitialCapacity;
@@ -601,7 +601,7 @@ namespace Recyclable.Collections
throw new NotImplementedException();
}
- public static bool TrueForAll(this RecyclableLongList list, Predicate match)
+ internal static bool TrueForAll(this RecyclableLongList list, Predicate match)
{
//int sourceItemsCount = list._count;
//if (sourceItemsCount == 0)