primitive-offset-0.2.0.1: 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
}