public void Dispose() { if (_unmanagedBuffer != null) { _memoryPool.Release(this); _unmanagedBuffer = null; } }
public void DeleteAll(IUnmanagedMemory unmanagedMemory, Node *previousAddress, Node *ownAddress) { Node *nextAddress = MakeNextAddress(previousAddress); if ((long)nextAddress == 0) { return; } nextAddress->DeleteAll(unmanagedMemory, ownAddress, nextAddress); unmanagedMemory.FreeHGlobal((IntPtr)nextAddress); }
public XorLinkedList(IUnmanagedMemory unmanagedMemory) { this.unmanagedMemory = unmanagedMemory; }
public XorLinkedList() { this.unmanagedMemory = new UnmanagedMemory(); }
public PooledUnmanagedMemory(IUnmanagedMemory unmanagedBuffer, IUnmanagedMemoryService memoryPool) { _unmanagedBuffer.Position = 0; _unmanagedBuffer = unmanagedBuffer; _memoryPool = memoryPool; }