-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Slicing managed and unmanaged memory -- -- This library provides types that allow the user to talk about a slice -- of a ByteArray or a MutableByteArray. It also offers UnmanagedBytes, -- which is kind of like a slice into unmanaged memory. However, it is -- just an address and a length. @package byteslice @version 0.1.1.0 module Data.Bytes.Types -- | A slice of a ByteArray. data Bytes Bytes :: {-# UNPACK #-} !ByteArray -> {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int -> Bytes [$sel:array:Bytes] :: Bytes -> {-# UNPACK #-} !ByteArray [$sel:offset:Bytes] :: Bytes -> {-# UNPACK #-} !Int [$sel:length:Bytes] :: Bytes -> {-# UNPACK #-} !Int -- | A slice of a MutableByteArray. data MutableBytes s MutableBytes :: {-# UNPACK #-} !MutableByteArray s -> {-# UNPACK #-} !Int -> {-# UNPACK #-} !Int -> MutableBytes s [$sel:array:MutableBytes] :: MutableBytes s -> {-# UNPACK #-} !MutableByteArray s [$sel:offset:MutableBytes] :: MutableBytes s -> {-# UNPACK #-} !Int [$sel:length:MutableBytes] :: MutableBytes s -> {-# UNPACK #-} !Int -- | A slice of unmanaged memory. data UnmanagedBytes UnmanagedBytes :: {-# UNPACK #-} !Addr -> {-# UNPACK #-} !Int -> UnmanagedBytes [$sel:address:UnmanagedBytes] :: UnmanagedBytes -> {-# UNPACK #-} !Addr [$sel:length:UnmanagedBytes] :: UnmanagedBytes -> {-# UNPACK #-} !Int instance GHC.Exts.IsList Data.Bytes.Types.Bytes instance GHC.Show.Show Data.Bytes.Types.Bytes instance GHC.Classes.Eq Data.Bytes.Types.Bytes instance GHC.Classes.Ord Data.Bytes.Types.Bytes instance GHC.Base.Semigroup Data.Bytes.Types.Bytes