using System; namespace ARMeilleure.Memory { public interface IMemoryManager { int AddressSpaceBits { get; } IntPtr PageTablePointer { get; } T Read(ulong va) where T : unmanaged; T ReadTracked(ulong va) where T : unmanaged; void Write(ulong va, T value) where T : unmanaged; ReadOnlySpan GetSpan(ulong va, int size, bool tracked = false); ref T GetRef(ulong va) where T : unmanaged; bool IsMapped(ulong va); void SignalMemoryTracking(ulong va, ulong size, bool write); } }