public void freeSegment(int index) { if (index + segmentSize == m_storage.length) { m_storage.removeRange(index, segmentSize); } else { if (RuntimeHelpers.IsReferenceOrContainsReferences <T>()) { m_storage.asSpan(index, segmentSize).Clear(); } m_freeList.add(index); } }
/// <summary> /// Creates a new instance of <see cref="StaticArrayPool{T}"/>. /// </summary> /// <param name="initialCapacity">The initial capacity of the array pool.</param> public StaticArrayPool(int initialCapacity = 0) { m_storage = new DynamicArray <T>(initialCapacity); m_indices.add(0); }