primitive-0.7.0.1: 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 Source #

Class of types supporting primitive array operations. This includes interfacing with GC-managed memory (functions suffixed with ByteArray#) and interfacing with unmanaged memory (functions suffixed with Addr#). Endianness is platform-dependent.

Methods

sizeOf# :: a -> Int# Source #

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

alignment# :: a -> Int# Source #

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

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

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 #) Source #

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 Source #

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 Source #

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 Source #

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 #) Source #

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 Source #

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 Source #

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

Instances details
Prim Char Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Char -> Int# Source #

alignment# :: Char -> Int# Source #

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

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

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

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

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

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

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

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

Prim Double Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Double -> Int# Source #

alignment# :: Double -> Int# Source #

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

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

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

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

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

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

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

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

Prim Float Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Float -> Int# Source #

alignment# :: Float -> Int# Source #

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

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

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

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

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

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

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

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

Prim Int Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int -> Int# Source #

alignment# :: Int -> Int# Source #

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

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

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

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

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

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

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

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

Prim Int8 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int8 -> Int# Source #

alignment# :: Int8 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Int16 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int16 -> Int# Source #

alignment# :: Int16 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Int32 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int32 -> Int# Source #

alignment# :: Int32 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Int64 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int64 -> Int# Source #

alignment# :: Int64 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Word Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word -> Int# Source #

alignment# :: Word -> Int# Source #

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

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

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

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

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

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

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

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

Prim Word8 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word8 -> Int# Source #

alignment# :: Word8 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Word16 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word16 -> Int# Source #

alignment# :: Word16 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Word32 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word32 -> Int# Source #

alignment# :: Word32 -> Int# Source #

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

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

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

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

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

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

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

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

Prim Word64 Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word64 -> Int# Source #

alignment# :: Word64 -> Int# Source #

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

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

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

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

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

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

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

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

Prim CInt Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CInt -> Int# Source #

alignment# :: CInt -> Int# Source #

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

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

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

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

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

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

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

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

Prim CBool Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBool -> Int# Source #

alignment# :: CBool -> Int# Source #

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

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

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

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

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

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

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

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

Prim CChar Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CChar -> Int# Source #

alignment# :: CChar -> Int# Source #

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

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

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

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

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

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

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

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

Prim CClock Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CClock -> Int# Source #

alignment# :: CClock -> Int# Source #

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

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

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

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

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

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

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

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

Prim CDouble Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CDouble -> Int# Source #

alignment# :: CDouble -> Int# Source #

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

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

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

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

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

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

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

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

Prim CFloat Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFloat -> Int# Source #

alignment# :: CFloat -> Int# Source #

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

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

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

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

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

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

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

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

Prim CIntMax Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIntMax -> Int# Source #

alignment# :: CIntMax -> Int# Source #

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

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

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

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

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

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

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

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

Prim CIntPtr Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIntPtr -> Int# Source #

alignment# :: CIntPtr -> Int# Source #

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

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

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

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

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

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

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

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

Prim CLLong Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CLLong -> Int# Source #

alignment# :: CLLong -> Int# Source #

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

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

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

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

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

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

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

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

Prim CLong Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CLong -> Int# Source #

alignment# :: CLong -> Int# Source #

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

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

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

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

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

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

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

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

Prim CPtrdiff Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CPtrdiff -> Int# Source #

alignment# :: CPtrdiff -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSChar Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSChar -> Int# Source #

alignment# :: CSChar -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSUSeconds Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSUSeconds -> Int# Source #

alignment# :: CSUSeconds -> Int# Source #

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

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

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

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

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

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

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

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

Prim CShort Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CShort -> Int# Source #

alignment# :: CShort -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSigAtomic Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSigAtomic -> Int# Source #

alignment# :: CSigAtomic -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSize Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSize -> Int# Source #

alignment# :: CSize -> Int# Source #

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

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

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

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

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

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

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

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

Prim CTime Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTime -> Int# Source #

alignment# :: CTime -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUChar Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUChar -> Int# Source #

alignment# :: CUChar -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUInt Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUInt -> Int# Source #

alignment# :: CUInt -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUIntMax Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUIntMax -> Int# Source #

alignment# :: CUIntMax -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUIntPtr Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUIntPtr -> Int# Source #

alignment# :: CUIntPtr -> Int# Source #

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

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

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

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

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

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

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

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

Prim CULLong Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CULLong -> Int# Source #

alignment# :: CULLong -> Int# Source #

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

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

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

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

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

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

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

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

Prim CULong Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CULong -> Int# Source #

alignment# :: CULong -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUSeconds Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUSeconds -> Int# Source #

alignment# :: CUSeconds -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUShort Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUShort -> Int# Source #

alignment# :: CUShort -> Int# Source #

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

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

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

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

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

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

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

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

Prim CWchar Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CWchar -> Int# Source #

alignment# :: CWchar -> Int# Source #

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

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

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

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

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

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

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

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

Prim CBlkCnt Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBlkCnt -> Int# Source #

alignment# :: CBlkCnt -> Int# Source #

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

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

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

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

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

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

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

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

Prim CBlkSize Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CBlkSize -> Int# Source #

alignment# :: CBlkSize -> Int# Source #

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

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

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

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

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

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

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

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

Prim CCc Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CCc -> Int# Source #

alignment# :: CCc -> Int# Source #

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

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

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

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

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

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

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

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

Prim CClockId Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CClockId -> Int# Source #

alignment# :: CClockId -> Int# Source #

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

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

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

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

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

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

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

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

Prim CDev Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CDev -> Int# Source #

alignment# :: CDev -> Int# Source #

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

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

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

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

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

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

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

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

Prim CFsBlkCnt Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFsBlkCnt -> Int# Source #

alignment# :: CFsBlkCnt -> Int# Source #

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

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

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

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

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

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

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

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

Prim CFsFilCnt Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CFsFilCnt -> Int# Source #

alignment# :: CFsFilCnt -> Int# Source #

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

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

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

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

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

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

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

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

Prim CGid Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CGid -> Int# Source #

alignment# :: CGid -> Int# Source #

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

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

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

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

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

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

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

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

Prim CId Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CId -> Int# Source #

alignment# :: CId -> Int# Source #

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

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

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

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

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

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

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

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

Prim CIno Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CIno -> Int# Source #

alignment# :: CIno -> Int# Source #

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

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

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

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

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

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

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

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

Prim CKey Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CKey -> Int# Source #

alignment# :: CKey -> Int# Source #

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

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

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

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

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

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

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

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

Prim CMode Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CMode -> Int# Source #

alignment# :: CMode -> Int# Source #

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

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

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

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

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

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

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

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

Prim CNlink Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CNlink -> Int# Source #

alignment# :: CNlink -> Int# Source #

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

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

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

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

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

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

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

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

Prim COff Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: COff -> Int# Source #

alignment# :: COff -> Int# Source #

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

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

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

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

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

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

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

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

Prim CPid Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CPid -> Int# Source #

alignment# :: CPid -> Int# Source #

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

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

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

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

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

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

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

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

Prim CRLim Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CRLim -> Int# Source #

alignment# :: CRLim -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSpeed Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSpeed -> Int# Source #

alignment# :: CSpeed -> Int# Source #

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

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

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

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

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

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

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

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

Prim CSsize Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CSsize -> Int# Source #

alignment# :: CSsize -> Int# Source #

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

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

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

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

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

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

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

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

Prim CTcflag Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTcflag -> Int# Source #

alignment# :: CTcflag -> Int# Source #

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

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

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

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

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

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

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

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

Prim CTimer Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CTimer -> Int# Source #

alignment# :: CTimer -> Int# Source #

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

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

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

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

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

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

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

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

Prim CUid Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: CUid -> Int# Source #

alignment# :: CUid -> Int# Source #

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

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

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

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

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

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

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

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

Prim Fd Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Fd -> Int# Source #

alignment# :: Fd -> Int# Source #

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

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

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

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

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

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

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

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

Prim (StablePtr a) Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: StablePtr a -> Int# Source #

alignment# :: StablePtr a -> Int# Source #

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

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

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

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

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

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

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

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

Prim (Ptr a) Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Ptr a -> Int# Source #

alignment# :: Ptr a -> Int# Source #

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

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

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

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

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

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

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

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

Prim (FunPtr a) Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: FunPtr a -> Int# Source #

alignment# :: FunPtr a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Down a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Down a -> Int# Source #

alignment# :: Down a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Identity a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Identity a -> Int# Source #

alignment# :: Identity a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Product a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Product a -> Int# Source #

alignment# :: Product a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Sum a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Sum a -> Int# Source #

alignment# :: Sum a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Dual a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Dual a -> Int# Source #

alignment# :: Dual a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (First a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: First a -> Int# Source #

alignment# :: First a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Last a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Last a -> Int# Source #

alignment# :: Last a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Max a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Max a -> Int# Source #

alignment# :: Max a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Min a) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Min a -> Int# Source #

alignment# :: Min a -> Int# Source #

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

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

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

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

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

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

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

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

Prim a => Prim (Const a b) Source #

Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Const a b -> Int# Source #

alignment# :: Const a b -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Const a b Source #

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

writeByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Const a b -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Const a b Source #

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

writeOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Const a b -> State# s -> State# s Source #

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

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 Source #

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 Source #

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 Source #

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

newtype PrimStorable a Source #

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

Instances details
Prim a => Storable (PrimStorable a) Source # 
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 ()

data Ptr a #

Constructors

Ptr Addr# 

Instances

Instances details
Generic1 (URec (Ptr ()) :: k -> Type) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep1 (URec (Ptr ())) :: k -> Type

Methods

from1 :: forall (a :: k0). URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a

to1 :: forall (a :: k0). Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a

Eq (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

(==) :: Ptr a -> Ptr a -> Bool

(/=) :: Ptr a -> Ptr a -> Bool

Data a => Data (Ptr a) 
Instance details

Defined in Data.Data

Methods

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

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

toConstr :: Ptr a -> Constr

dataTypeOf :: Ptr a -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> Ptr a -> Ptr a

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

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

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

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

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

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

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

Ord (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

compare :: Ptr a -> Ptr a -> Ordering

(<) :: Ptr a -> Ptr a -> Bool

(<=) :: Ptr a -> Ptr a -> Bool

(>) :: Ptr a -> Ptr a -> Bool

(>=) :: Ptr a -> Ptr a -> Bool

max :: Ptr a -> Ptr a -> Ptr a

min :: Ptr a -> Ptr a -> Ptr a

Show (Ptr a) 
Instance details

Defined in GHC.Ptr

Methods

showsPrec :: Int -> Ptr a -> ShowS

show :: Ptr a -> String

showList :: [Ptr a] -> ShowS

Storable (Ptr a) 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Ptr a -> Int

alignment :: Ptr a -> Int

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

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

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

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

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

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

Prim (Ptr a) Source # 
Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Ptr a -> Int# Source #

alignment# :: Ptr a -> Int# Source #

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

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

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

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

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

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

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

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

Functor (URec (Ptr ()) :: Type -> Type) 
Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b

(<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a

Foldable (URec (Ptr ()) :: Type -> Type) 
Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => URec (Ptr ()) m -> m

foldMap :: Monoid m => (a -> m) -> URec (Ptr ()) a -> m

foldMap' :: Monoid m => (a -> m) -> URec (Ptr ()) a -> m

foldr :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b

foldr' :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b

foldl :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b

foldl' :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b

foldr1 :: (a -> a -> a) -> URec (Ptr ()) a -> a

foldl1 :: (a -> a -> a) -> URec (Ptr ()) a -> a

toList :: URec (Ptr ()) a -> [a]

null :: URec (Ptr ()) a -> Bool

length :: URec (Ptr ()) a -> Int

elem :: Eq a => a -> URec (Ptr ()) a -> Bool

maximum :: Ord a => URec (Ptr ()) a -> a

minimum :: Ord a => URec (Ptr ()) a -> a

sum :: Num a => URec (Ptr ()) a -> a

product :: Num a => URec (Ptr ()) a -> a

Traversable (URec (Ptr ()) :: Type -> Type) 
Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> URec (Ptr ()) a -> f (URec (Ptr ()) b)

sequenceA :: Applicative f => URec (Ptr ()) (f a) -> f (URec (Ptr ()) a)

mapM :: Monad m => (a -> m b) -> URec (Ptr ()) a -> m (URec (Ptr ()) b)

sequence :: Monad m => URec (Ptr ()) (m a) -> m (URec (Ptr ()) a)

Eq (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Methods

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

(/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

Ord (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Methods

compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering

(<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

(<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

(>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

(>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool

max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p

min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p

Generic (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

Associated Types

type Rep (URec (Ptr ()) p) :: Type -> Type

Methods

from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x

to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p

data URec (Ptr ()) (p :: k) 
Instance details

Defined in GHC.Generics

data URec (Ptr ()) (p :: k) = UAddr {}
type Rep1 (URec (Ptr ()) :: k -> Type) 
Instance details

Defined in GHC.Generics

type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))
type Rep (URec (Ptr ()) p) 
Instance details

Defined in GHC.Generics

type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))