public override void Release()
            {
                base.Release();

                SparseMemorySpan.Span.Clear();
                SparseMemorySpan.Release();
                SparseMemorySpan = SparseMemorySpan <T> .Empty;
            }
Exemplo n.º 2
0
 private InsertEnumerator(InsertEnumerator enumerator, SparseMemorySpan <T> sparseMemorySpan, int count)
 {
     BaseEnumerator   = enumerator.BaseEnumerator;
     SparseMemorySpan = sparseMemorySpan;
     ItemsCount       = count;
     List             = enumerator.List;
     Current          = enumerator.Current;
     CurrentItemIndex = enumerator.CurrentItemIndex;
     HasAny           = enumerator.HasAny;
 }
Exemplo n.º 3
0
        public SparseMemorySpan <T> Allocate(int length)
        {
            var span = new SparseMemorySpan <T>(this, _offset, length);

            _offset += length;

            AddReference();

            return(span);
        }
 public void Mount(SparseMemorySpan <T> sparseMemorySpan)
 {
     SparseMemorySpan = sparseMemorySpan;
 }
Exemplo n.º 5
0
 public InsertEnumerator WithItems(SparseMemorySpan <T> items, int count)
 {
     return(new InsertEnumerator(this, items, count));
 }
Exemplo n.º 6
0
 public void Deallocate(SparseMemorySpan <T> sparseMemorySpan)
 {
     ReleaseReference();
 }