mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
29 lines
530 B
Nim
29 lines
530 B
Nim
discard """
|
|
"""
|
|
|
|
# issue #8199
|
|
|
|
const rangesGCHoldEnabled = true # not defined(rangesDisableGCHold)
|
|
|
|
type
|
|
# A view into immutable array
|
|
Range*[T] {.shallow.} = object
|
|
when rangesGCHoldEnabled:
|
|
gcHold: seq[T] # 0
|
|
start: ptr T # 1
|
|
mLen: int32 # 2
|
|
|
|
type
|
|
BytesRange* = Range[byte]
|
|
NibblesRange* = object
|
|
bytes: BytesRange
|
|
|
|
const
|
|
zeroBytesRange* = BytesRange()
|
|
|
|
proc initNibbleRange*(bytes: BytesRange): NibblesRange =
|
|
result.bytes = bytes
|
|
|
|
const
|
|
zeroNibblesRange* = initNibbleRange(zeroBytesRange)
|