public override void Release() { base.Release(); SparseMemorySpan.Span.Clear(); SparseMemorySpan.Release(); SparseMemorySpan = SparseMemorySpan <T> .Empty; }
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; }
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; }
public InsertEnumerator WithItems(SparseMemorySpan <T> items, int count) { return(new InsertEnumerator(this, items, count)); }
public void Deallocate(SparseMemorySpan <T> sparseMemorySpan) { ReleaseReference(); }