primitive-offset-0.2.0.0: src/Data/Primitive/ByteArray/Offset.hs
{-# language DuplicateRecordFields #-}
module Data.Primitive.ByteArray.Offset
( -- * Types
ByteArrayOffset(..)
, MutableByteArrayOffset(..)
) where
import Data.Primitive (ByteArray,MutableByteArray)
-- | A byte array and an index into the array. The element
-- type is understood to be byte (an 8-bit word).
data ByteArrayOffset = ByteArrayOffset
{ array :: {-# UNPACK #-} !ByteArray
, offset :: {-# UNPACK #-} !Int
}
-- | A mutable byte array and an index into the array. The element
-- type is understood to be byte (an 8-bit word).
data MutableByteArrayOffset s = MutableByteArrayOffset
{ array :: {-# UNPACK #-} !(MutableByteArray s)
, offset :: {-# UNPACK #-} !Int
}