primitive-0.6.4.0: Primitive memory-related operations

Copyright(c) Roman Leshchinskiy 2009-2012
LicenseBSD-style
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Primitive.Types

Description

Basic types and classes for primitive array operations

Synopsis

Documentation

class Prim a where #

Class of types supporting primitive array operations

Methods

sizeOf# :: a -> Int# #

Size of values of type a. The argument is not used.

alignment# :: a -> Int# #

Alignment of values of type a. The argument is not used.

indexByteArray# :: ByteArray# -> Int# -> a #

Read a value from the array. The offset is in elements of type a rather than in bytes.

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, a#) #

Read a value from the mutable array. The offset is in elements of type a rather than in bytes.

writeByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> State# s #

Write a value to the mutable array. The offset is in elements of type a rather than in bytes.

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> a -> State# s -> State# s #

Fill a slice of the mutable array with a value. The offset and length of the chunk are in elements of type a rather than in bytes.

indexOffAddr# :: Addr# -> Int# -> a #

Read a value from a memory position given by an address and an offset. The memory block the address refers to must be immutable. The offset is in elements of type a rather than in bytes.

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, a#) #

Read a value from a memory position given by an address and an offset. The offset is in elements of type a rather than in bytes.

writeOffAddr# :: Addr# -> Int# -> a -> State# s -> State# s #

Write a value to a memory position given by an address and an offset. The offset is in elements of type a rather than in bytes.

setOffAddr# :: Addr# -> Int# -> Int# -> a -> State# s -> State# s #

Fill a memory block given by an address, an offset and a length. The offset and length are in elements of type a rather than in bytes.

Instances
Prim Char # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Char -> Int# #

alignment# :: Char -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Char #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Char#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Char -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Char -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Char #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Char#) #

writeOffAddr# :: Addr# -> Int# -> Char -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Char -> State# s -> State# s #

Prim Double # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Double -> Int# #

alignment# :: Double -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Double #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Double#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Double -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Double -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Double #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Double#) #

writeOffAddr# :: Addr# -> Int# -> Double -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Double -> State# s -> State# s #

Prim Float # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Float -> Int# #

alignment# :: Float -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Float #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Float#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Float -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Float -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Float #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Float#) #

writeOffAddr# :: Addr# -> Int# -> Float -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Float -> State# s -> State# s #

Prim Int # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int -> Int# #

alignment# :: Int -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Int #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Int#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Int #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Int#) #

writeOffAddr# :: Addr# -> Int# -> Int -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Int -> State# s -> State# s #

Prim Int8 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int8 -> Int# #

alignment# :: Int8 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Int8 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Int8#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Int8 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Int8#) #

writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s #

Prim Int16 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int16 -> Int# #

alignment# :: Int16 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Int16 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Int16#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Int16 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Int16#) #

writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s #

Prim Int32 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int32 -> Int# #

alignment# :: Int32 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Int32 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Int32#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Int32 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Int32#) #

writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s #

Prim Int64 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int64 -> Int# #

alignment# :: Int64 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Int64 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Int64#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Int64 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Int64#) #

writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s #

Prim Word # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word -> Int# #

alignment# :: Word -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Word #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Word#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Word #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Word#) #

writeOffAddr# :: Addr# -> Int# -> Word -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Word -> State# s -> State# s #

Prim Word8 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word8 -> Int# #

alignment# :: Word8 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Word8 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Word8#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Word8 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Word8#) #

writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s #

Prim Word16 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word16 -> Int# #

alignment# :: Word16 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Word16 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Word16#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word16 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Word16 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Word16#) #

writeOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Word16 -> State# s -> State# s #

Prim Word32 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word32 -> Int# #

alignment# :: Word32 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Word32 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Word32#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word32 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Word32 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Word32#) #

writeOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Word32 -> State# s -> State# s #

Prim Word64 # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word64 -> Int# #

alignment# :: Word64 -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Word64 #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Word64#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word64 -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Word64 #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Word64#) #

writeOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Word64 -> State# s -> State# s #

Prim CInt # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CInt -> Int# #

alignment# :: CInt -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CInt #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CInt#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CInt -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CInt #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CInt#) #

writeOffAddr# :: Addr# -> Int# -> CInt -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CInt -> State# s -> State# s #

Prim CBool # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBool -> Int# #

alignment# :: CBool -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CBool #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CBool#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBool -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CBool #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CBool#) #

writeOffAddr# :: Addr# -> Int# -> CBool -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CBool -> State# s -> State# s #

Prim CChar # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CChar -> Int# #

alignment# :: CChar -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CChar #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CChar#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CChar -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CChar #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CChar#) #

writeOffAddr# :: Addr# -> Int# -> CChar -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CChar -> State# s -> State# s #

Prim CClock # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CClock -> Int# #

alignment# :: CClock -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CClock #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CClock#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CClock -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClock -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CClock #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CClock#) #

writeOffAddr# :: Addr# -> Int# -> CClock -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CClock -> State# s -> State# s #

Prim CDouble # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CDouble -> Int# #

alignment# :: CDouble -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CDouble #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CDouble#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CDouble -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDouble -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CDouble #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CDouble#) #

writeOffAddr# :: Addr# -> Int# -> CDouble -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CDouble -> State# s -> State# s #

Prim CFloat # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFloat -> Int# #

alignment# :: CFloat -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CFloat #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CFloat#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CFloat -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFloat -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CFloat #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CFloat#) #

writeOffAddr# :: Addr# -> Int# -> CFloat -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CFloat -> State# s -> State# s #

Prim CIntMax # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIntMax -> Int# #

alignment# :: CIntMax -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CIntMax #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CIntMax#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntMax -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CIntMax #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CIntMax#) #

writeOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CIntMax -> State# s -> State# s #

Prim CIntPtr # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIntPtr -> Int# #

alignment# :: CIntPtr -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CIntPtr #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CIntPtr#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntPtr -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CIntPtr #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CIntPtr#) #

writeOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CIntPtr -> State# s -> State# s #

Prim CLLong # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CLLong -> Int# #

alignment# :: CLLong -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CLLong #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CLLong#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLLong -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CLLong #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CLLong#) #

writeOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CLLong -> State# s -> State# s #

Prim CLong # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CLong -> Int# #

alignment# :: CLong -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CLong #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CLong#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLong -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CLong #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CLong#) #

writeOffAddr# :: Addr# -> Int# -> CLong -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CLong -> State# s -> State# s #

Prim CPtrdiff # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CPtrdiff -> Int# #

alignment# :: CPtrdiff -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CPtrdiff #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CPtrdiff#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPtrdiff -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CPtrdiff #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CPtrdiff#) #

writeOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CPtrdiff -> State# s -> State# s #

Prim CSChar # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSChar -> Int# #

alignment# :: CSChar -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSChar #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSChar#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSChar -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSChar #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSChar#) #

writeOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSChar -> State# s -> State# s #

Prim CSUSeconds # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSUSeconds -> Int# #

alignment# :: CSUSeconds -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSUSeconds #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSUSeconds#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSUSeconds -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSUSeconds -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSUSeconds #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSUSeconds#) #

writeOffAddr# :: Addr# -> Int# -> CSUSeconds -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSUSeconds -> State# s -> State# s #

Prim CShort # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CShort -> Int# #

alignment# :: CShort -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CShort #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CShort#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CShort -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CShort #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CShort#) #

writeOffAddr# :: Addr# -> Int# -> CShort -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CShort -> State# s -> State# s #

Prim CSigAtomic # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSigAtomic -> Int# #

alignment# :: CSigAtomic -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSigAtomic #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSigAtomic#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSigAtomic -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSigAtomic #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSigAtomic#) #

writeOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSigAtomic -> State# s -> State# s #

Prim CSize # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSize -> Int# #

alignment# :: CSize -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSize #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSize#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSize -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSize #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSize#) #

writeOffAddr# :: Addr# -> Int# -> CSize -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSize -> State# s -> State# s #

Prim CTime # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTime -> Int# #

alignment# :: CTime -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CTime #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CTime#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CTime -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTime -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CTime #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CTime#) #

writeOffAddr# :: Addr# -> Int# -> CTime -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CTime -> State# s -> State# s #

Prim CUChar # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUChar -> Int# #

alignment# :: CUChar -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUChar #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUChar#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUChar -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUChar #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUChar#) #

writeOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUChar -> State# s -> State# s #

Prim CUInt # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUInt -> Int# #

alignment# :: CUInt -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUInt #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUInt#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUInt -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUInt #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUInt#) #

writeOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUInt -> State# s -> State# s #

Prim CUIntMax # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUIntMax -> Int# #

alignment# :: CUIntMax -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUIntMax #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUIntMax#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntMax -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUIntMax #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUIntMax#) #

writeOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUIntMax -> State# s -> State# s #

Prim CUIntPtr # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUIntPtr -> Int# #

alignment# :: CUIntPtr -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUIntPtr #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUIntPtr#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntPtr -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUIntPtr #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUIntPtr#) #

writeOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUIntPtr -> State# s -> State# s #

Prim CULLong # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CULLong -> Int# #

alignment# :: CULLong -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CULLong #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CULLong#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULLong -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CULLong #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CULLong#) #

writeOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CULLong -> State# s -> State# s #

Prim CULong # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CULong -> Int# #

alignment# :: CULong -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CULong #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CULong#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULong -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CULong #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CULong#) #

writeOffAddr# :: Addr# -> Int# -> CULong -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CULong -> State# s -> State# s #

Prim CUSeconds # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUSeconds -> Int# #

alignment# :: CUSeconds -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUSeconds #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUSeconds#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUSeconds -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUSeconds -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUSeconds #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUSeconds#) #

writeOffAddr# :: Addr# -> Int# -> CUSeconds -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUSeconds -> State# s -> State# s #

Prim CUShort # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUShort -> Int# #

alignment# :: CUShort -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUShort #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUShort#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUShort -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUShort #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUShort#) #

writeOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUShort -> State# s -> State# s #

Prim CWchar # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CWchar -> Int# #

alignment# :: CWchar -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CWchar #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CWchar#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CWchar -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CWchar #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CWchar#) #

writeOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CWchar -> State# s -> State# s #

Prim CBlkCnt # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBlkCnt -> Int# #

alignment# :: CBlkCnt -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CBlkCnt #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CBlkCnt#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CBlkCnt -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkCnt -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CBlkCnt #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CBlkCnt#) #

writeOffAddr# :: Addr# -> Int# -> CBlkCnt -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CBlkCnt -> State# s -> State# s #

Prim CBlkSize # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBlkSize -> Int# #

alignment# :: CBlkSize -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CBlkSize #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CBlkSize#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CBlkSize -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkSize -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CBlkSize #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CBlkSize#) #

writeOffAddr# :: Addr# -> Int# -> CBlkSize -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CBlkSize -> State# s -> State# s #

Prim CCc # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CCc -> Int# #

alignment# :: CCc -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CCc #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CCc#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CCc -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CCc -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CCc #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CCc#) #

writeOffAddr# :: Addr# -> Int# -> CCc -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CCc -> State# s -> State# s #

Prim CClockId # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CClockId -> Int# #

alignment# :: CClockId -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CClockId #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CClockId#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CClockId -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClockId -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CClockId #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CClockId#) #

writeOffAddr# :: Addr# -> Int# -> CClockId -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CClockId -> State# s -> State# s #

Prim CDev # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CDev -> Int# #

alignment# :: CDev -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CDev #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CDev#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CDev -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDev -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CDev #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CDev#) #

writeOffAddr# :: Addr# -> Int# -> CDev -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CDev -> State# s -> State# s #

Prim CFsBlkCnt # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFsBlkCnt -> Int# #

alignment# :: CFsBlkCnt -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CFsBlkCnt #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CFsBlkCnt#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CFsBlkCnt -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CFsBlkCnt #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CFsBlkCnt#) #

writeOffAddr# :: Addr# -> Int# -> CFsBlkCnt -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s #

Prim CFsFilCnt # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFsFilCnt -> Int# #

alignment# :: CFsFilCnt -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CFsFilCnt #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CFsFilCnt#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CFsFilCnt -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CFsFilCnt #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CFsFilCnt#) #

writeOffAddr# :: Addr# -> Int# -> CFsFilCnt -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s #

Prim CGid # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CGid -> Int# #

alignment# :: CGid -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CGid #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CGid#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CGid -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CGid -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CGid #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CGid#) #

writeOffAddr# :: Addr# -> Int# -> CGid -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CGid -> State# s -> State# s #

Prim CId # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CId -> Int# #

alignment# :: CId -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CId #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CId#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CId -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CId -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CId #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CId#) #

writeOffAddr# :: Addr# -> Int# -> CId -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CId -> State# s -> State# s #

Prim CIno # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIno -> Int# #

alignment# :: CIno -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CIno #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CIno#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CIno -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIno -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CIno #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CIno#) #

writeOffAddr# :: Addr# -> Int# -> CIno -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CIno -> State# s -> State# s #

Prim CKey # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CKey -> Int# #

alignment# :: CKey -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CKey #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CKey#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CKey -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CKey -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CKey #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CKey#) #

writeOffAddr# :: Addr# -> Int# -> CKey -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CKey -> State# s -> State# s #

Prim CMode # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CMode -> Int# #

alignment# :: CMode -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CMode #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CMode#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CMode -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CMode -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CMode #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CMode#) #

writeOffAddr# :: Addr# -> Int# -> CMode -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CMode -> State# s -> State# s #

Prim CNlink # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CNlink -> Int# #

alignment# :: CNlink -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CNlink #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CNlink#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CNlink -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CNlink -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CNlink #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CNlink#) #

writeOffAddr# :: Addr# -> Int# -> CNlink -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CNlink -> State# s -> State# s #

Prim COff # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: COff -> Int# #

alignment# :: COff -> Int# #

indexByteArray# :: ByteArray# -> Int# -> COff #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, COff#) #

writeByteArray# :: MutableByteArray# s -> Int# -> COff -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> COff -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> COff #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, COff#) #

writeOffAddr# :: Addr# -> Int# -> COff -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> COff -> State# s -> State# s #

Prim CPid # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CPid -> Int# #

alignment# :: CPid -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CPid #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CPid#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CPid -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPid -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CPid #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CPid#) #

writeOffAddr# :: Addr# -> Int# -> CPid -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CPid -> State# s -> State# s #

Prim CRLim # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CRLim -> Int# #

alignment# :: CRLim -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CRLim #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CRLim#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CRLim -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CRLim -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CRLim #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CRLim#) #

writeOffAddr# :: Addr# -> Int# -> CRLim -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CRLim -> State# s -> State# s #

Prim CSpeed # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSpeed -> Int# #

alignment# :: CSpeed -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSpeed #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSpeed#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSpeed -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSpeed -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSpeed #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSpeed#) #

writeOffAddr# :: Addr# -> Int# -> CSpeed -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSpeed -> State# s -> State# s #

Prim CSsize # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSsize -> Int# #

alignment# :: CSsize -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CSsize #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CSsize#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CSsize -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSsize -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CSsize #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CSsize#) #

writeOffAddr# :: Addr# -> Int# -> CSsize -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CSsize -> State# s -> State# s #

Prim CTcflag # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTcflag -> Int# #

alignment# :: CTcflag -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CTcflag #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CTcflag#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CTcflag -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTcflag -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CTcflag #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CTcflag#) #

writeOffAddr# :: Addr# -> Int# -> CTcflag -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CTcflag -> State# s -> State# s #

Prim CTimer # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTimer -> Int# #

alignment# :: CTimer -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CTimer #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CTimer#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CTimer -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTimer -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CTimer #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CTimer#) #

writeOffAddr# :: Addr# -> Int# -> CTimer -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CTimer -> State# s -> State# s #

Prim CUid # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUid -> Int# #

alignment# :: CUid -> Int# #

indexByteArray# :: ByteArray# -> Int# -> CUid #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, CUid#) #

writeByteArray# :: MutableByteArray# s -> Int# -> CUid -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUid -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> CUid #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, CUid#) #

writeOffAddr# :: Addr# -> Int# -> CUid -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> CUid -> State# s -> State# s #

Prim Fd # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Fd -> Int# #

alignment# :: Fd -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Fd #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Fd#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Fd -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Fd #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Fd#) #

writeOffAddr# :: Addr# -> Int# -> Fd -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Fd -> State# s -> State# s #

Prim Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Addr -> Int# #

alignment# :: Addr -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Addr #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Addr#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Addr -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Addr -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Addr #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Addr#) #

writeOffAddr# :: Addr# -> Int# -> Addr -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Addr -> State# s -> State# s #

Prim (Ptr a) # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Ptr a -> Int# #

alignment# :: Ptr a -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Ptr a #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Ptr a#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Ptr a -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Ptr a #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Ptr a#) #

writeOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Ptr a -> State# s -> State# s #

Prim (FunPtr a) # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: FunPtr a -> Int# #

alignment# :: FunPtr a -> Int# #

indexByteArray# :: ByteArray# -> Int# -> FunPtr a #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, FunPtr a#) #

writeByteArray# :: MutableByteArray# s -> Int# -> FunPtr a -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> FunPtr a -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> FunPtr a #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, FunPtr a#) #

writeOffAddr# :: Addr# -> Int# -> FunPtr a -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> FunPtr a -> State# s -> State# s #

sizeOf :: Prim a => a -> Int #

Size of values of type a. The argument is not used.

This function has existed since 0.1, but was moved from Primitive to Types in version 0.6.3.0

alignment :: Prim a => a -> Int #

Alignment of values of type a. The argument is not used.

This function has existed since 0.1, but was moved from Primitive to Types in version 0.6.3.0

defaultSetByteArray# :: Prim a => MutableByteArray# s -> Int# -> Int# -> a -> State# s -> State# s #

An implementation of setByteArray# that calls writeByteArray# to set each element. This is helpful when writing a Prim instance for a multi-word data type for which there is no cpu-accelerated way to broadcast a value to contiguous memory. It is typically used alongside defaultSetOffAddr#. For example:

data Trip = Trip Int Int Int

instance Prim Trip
  sizeOf# _ = 3# *# sizeOf# (undefined :: Int)
  alignment# _ = alignment# (undefined :: Int)
  indexByteArray# arr# i# = ...
  readByteArray# arr# i# = ...
  writeByteArray# arr# i# (Trip a b c) =
    \s0 -> case writeByteArray# arr# (3# *# i#) a s0 of
       s1 -> case writeByteArray# arr# ((3# *# i#) +# 1#) b s1 of
         s2 -> case writeByteArray# arr# ((3# *# i#) +# 2# ) c s2 of
           s3 -> s3
  setByteArray# = defaultSetByteArray#
  indexOffAddr# addr# i# = ...
  readOffAddr# addr# i# = ...
  writeOffAddr# addr# i# (Trip a b c) =
    \s0 -> case writeOffAddr# addr# (3# *# i#) a s0 of
       s1 -> case writeOffAddr# addr# ((3# *# i#) +# 1#) b s1 of
         s2 -> case writeOffAddr# addr# ((3# *# i#) +# 2# ) c s2 of
           s3 -> s3
  setOffAddr# = defaultSetOffAddr#

defaultSetOffAddr# :: Prim a => Addr# -> Int# -> Int# -> a -> State# s -> State# s #

An implementation of setOffAddr# that calls writeOffAddr# to set each element. The documentation of defaultSetByteArray# provides an example of how to use this.

data Addr #

A machine address

Constructors

Addr Addr# 
Instances
Eq Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

(==) :: Addr -> Addr -> Bool

(/=) :: Addr -> Addr -> Bool

Data Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Addr -> c Addr

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Addr

toConstr :: Addr -> Constr

dataTypeOf :: Addr -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Addr)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Addr)

gmapT :: (forall b. Data b => b -> b) -> Addr -> Addr

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Addr -> r

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Addr -> r

gmapQ :: (forall d. Data d => d -> u) -> Addr -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Addr -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Addr -> m Addr

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Addr -> m Addr

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Addr -> m Addr

Ord Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

compare :: Addr -> Addr -> Ordering

(<) :: Addr -> Addr -> Bool

(<=) :: Addr -> Addr -> Bool

(>) :: Addr -> Addr -> Bool

(>=) :: Addr -> Addr -> Bool

max :: Addr -> Addr -> Addr

min :: Addr -> Addr -> Addr

Show Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

showsPrec :: Int -> Addr -> ShowS

show :: Addr -> String

showList :: [Addr] -> ShowS

Prim Addr # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Addr -> Int# #

alignment# :: Addr -> Int# #

indexByteArray# :: ByteArray# -> Int# -> Addr #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (#State# s, Addr#) #

writeByteArray# :: MutableByteArray# s -> Int# -> Addr -> State# s -> State# s #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Addr -> State# s -> State# s #

indexOffAddr# :: Addr# -> Int# -> Addr #

readOffAddr# :: Addr# -> Int# -> State# s -> (#State# s, Addr#) #

writeOffAddr# :: Addr# -> Int# -> Addr -> State# s -> State# s #

setOffAddr# :: Addr# -> Int# -> Int# -> Addr -> State# s -> State# s #

newtype PrimStorable a #

Newtype that uses a Prim instance to give rise to a Storable instance. This type is intended to be used with the DerivingVia extension available in GHC 8.6 and up. For example, consider a user-defined Prim instance for a multi-word data type.

data Uuid = Uuid Word64 Word64
  deriving Storable via (PrimStorable Uuid)
instance Prim Uuid where ...

Writing the Prim instance is tedious and unavoidable, but the Storable instance comes for free once the Prim instance is written.

Constructors

PrimStorable 

Fields

Instances
Prim a => Storable (PrimStorable a) # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf :: PrimStorable a -> Int

alignment :: PrimStorable a -> Int

peekElemOff :: Ptr (PrimStorable a) -> Int -> IO (PrimStorable a)

pokeElemOff :: Ptr (PrimStorable a) -> Int -> PrimStorable a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (PrimStorable a)

pokeByteOff :: Ptr b -> Int -> PrimStorable a -> IO ()

peek :: Ptr (PrimStorable a) -> IO (PrimStorable a)

poke :: Ptr (PrimStorable a) -> PrimStorable a -> IO ()