I’ve had to fill in one in my entire lifetime I think
I’ve had to fill in one in my entire lifetime I think
eng folder.UseSilkDSL and a new mod for generating the Silk.NET.Core sources.T doesn't seem to exist, this seems to be the non-generic variantwhere T : unmanaged
This needs to bepublic readonly ref T Ref
readonly ref MutPtr (basically it's equivalent to this[0]. you could even implement it like that if you want)This should be a reference to the raw pointer form of its inner dimension. to forpublic ref PTRMUT* GetPinnableReference()
PtrMutPtr this would be ref readonly byte** (so that when used in a fixed statement it becomes byte***)Missed a space.public static bool operator ==(object? lh, PTRMUTPTRrh) => lh == null ? (void*)rh == null : false;
My my that's a little over 3 dimensions!public static implicit operator byte******(PTRMUTPTR ptr) => (byte******)Unsafe.AsPointer(ref Unsafe.AsRef(in ptr.Ref));
Unsafe.AsPointer does not fix the ref and therefore should only be used for known-stack pointers (i.e. the user has to be explicit about this to ensure they don't accidentally do anything dangerous)engUseSilkDSL where T : unmanaged public readonly ref T Refreadonly ref MutPtrthis[0] public ref PTRMUT* GetPinnableReference()PtrMutPtrref readonly byte**fixedbyte*** public static bool operator ==(object? lh, PTRMUTPTRrh) => lh == null ? (void*)rh == null : false; public static implicit operator byte******(PTRMUTPTR ptr) => (byte******)Unsafe.AsPointer(ref Unsafe.AsRef(in ptr.Ref));Unsafe.AsPointerref