Exemple #1
0
 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);
     }
 }
Exemple #2
0
 /// <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);
 }