add pointer distance function

This commit is contained in:
Zahary Karadjov 2018-12-18 01:01:46 +02:00
parent f776d57b3e
commit b11110240f
1 changed files with 3 additions and 0 deletions

View File

@ -3,5 +3,8 @@ proc baseAddr*[T](x: openarray[T]): pointer = cast[pointer](x)
proc shift*(p: pointer, delta: int): pointer {.inline.} =
cast[pointer](cast[int](p) + delta)
proc distance*(a, b: pointer): int {.inline.} =
cast[int](b) - cast[int](a)
proc shift*[T](p: ptr T, delta: int): ptr T {.inline.} =
cast[ptr T](shift(cast[pointer](p), delta * sizeof(T)))