Cleanup. const introduced for initial capacity.
This commit is contained in:
1 parent
f23e9054e5
commit
845cf602dd
1 file changed
+21
-20
@@ -6,6 +6,7 @@ namespace Recyclable.Collections
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public sealed partial class RecyclableList<T> : IList<T>, IReadOnlyList<T>, IDisposable
|
public sealed partial class RecyclableList<T> : IList<T>, IReadOnlyList<T>, IDisposable
|
||||||
{
|
{
|
||||||
|
private const int InitialCapacity = 4;
|
||||||
private static readonly bool NeedsClearing = !typeof(T).IsValueType;
|
private static readonly bool NeedsClearing = !typeof(T).IsValueType;
|
||||||
|
|
||||||
public static explicit operator ReadOnlySpan<T>(RecyclableList<T> source) => new(source._memoryBlock, 0, source.Count);
|
public static explicit operator ReadOnlySpan<T>(RecyclableList<T> source) => new(source._memoryBlock, 0, source.Count);
|
||||||
@@ -70,13 +71,13 @@ namespace Recyclable.Collections
|
|||||||
|
|
||||||
public RecyclableList()
|
public RecyclableList()
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(int initialCapacity)
|
public RecyclableList(int initialCapacity)
|
||||||
{
|
{
|
||||||
if (initialCapacity >= 4)
|
if (initialCapacity >= InitialCapacity)
|
||||||
{
|
{
|
||||||
_memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength
|
_memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength
|
||||||
? RecyclableListHelpers<T>._arrayPool.Rent(initialCapacity)
|
? RecyclableListHelpers<T>._arrayPool.Rent(initialCapacity)
|
||||||
@@ -85,56 +86,56 @@ namespace Recyclable.Collections
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(RecyclableList<T> source)
|
public RecyclableList(RecyclableList<T> source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(RecyclableLongList<T> source)
|
public RecyclableList(RecyclableLongList<T> source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(ReadOnlySpan<T> source)
|
public RecyclableList(ReadOnlySpan<T> source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(in T[] source)
|
public RecyclableList(in T[] source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(List<T> source)
|
public RecyclableList(List<T> source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(IList<T> source)
|
public RecyclableList(IList<T> source)
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RecyclableList(IEnumerable<T> source, int initialCapacity = RecyclableDefaults.Capacity)
|
public RecyclableList(IEnumerable<T> source, int initialCapacity = RecyclableDefaults.Capacity)
|
||||||
{
|
{
|
||||||
if (initialCapacity >= 4)
|
if (initialCapacity >= InitialCapacity)
|
||||||
{
|
{
|
||||||
_memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength
|
_memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength
|
||||||
? RecyclableListHelpers<T>._arrayPool.Rent(initialCapacity)
|
? RecyclableListHelpers<T>._arrayPool.Rent(initialCapacity)
|
||||||
@@ -143,8 +144,8 @@ namespace Recyclable.Collections
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_capacity = 4;
|
_capacity = InitialCapacity;
|
||||||
_memoryBlock = new T[4];
|
_memoryBlock = new T[InitialCapacity];
|
||||||
}
|
}
|
||||||
|
|
||||||
AddRange(source);
|
AddRange(source);
|
||||||
|
|||||||
Reference in new issue
Block a user