using UnmanagedMMU.Allocators; namespace UnmanagedMMU.Handles { /// /// Interface that represents a typed handle to unmanaged memory. /// /// /// The unmanaged element type stored in the underlying memory block. /// public unsafe interface IMemoryHandle : IMemoryHandle, IDisposable where T : unmanaged { /// /// Gets the typed pointer to the underlying unmanaged memory block. /// /// /// The pointer becomes invalid after the handle is disposed. /// new T* Pointer { get; } /// /// Gets the number of elements contained in this handle. /// nuint Length { get; } /// /// Returns the underlying unmanaged memory block held by this handle back to the owning instance /// new void Dispose() { } } }