I see. Hm that complicates things. Idk how practical that would be, but how
about something like this:
type
PMemPtr[T] = distinct int
var pmemHeapStart: ByteAddress
proc `[]`[T](pmemPtr: PMemPtr[T]) =
cast[ptr T](cast[ByteAddress](pmemPtr) + pmemHeapStart)[]
proc test(a: PMemPtr[SomeType]) =
a[].field = 42
Run
- relative "based/biased" long pointers and data stru... dponyatov
- relative "based/biased" long pointers and data... dponyatov
- relative "based/biased" long pointers and ... doofenstein
- relative "based/biased" long pointers ... dponyatov
- relative "based/biased" long point... dponyatov
- relative "based/biased" long ... doofenstein
- relative "based/biased" l... dponyatov
- relative "based/biased&quo... cumulonimbus
- relative "based/biased&quo... Araq
