primitive-0.9.0.0: Primitive memory-related operations

Copyright | (c) Roman Leshchinskiy 2009-2012
License | BSD-style
Maintainer | Roman Leshchinskiy <rl@cse.unsw.edu.au>
Portability | non-portable
Safe Haskell | None
Language | Haskell2010

Data.Primitive.Types

Description

Basic types and classes for primitive array operations.

Synopsis

- class Prim a where
  - sizeOfType# :: Proxy a -> Int#
  - sizeOf# :: a -> Int#
  - alignmentOfType# :: Proxy a -> Int#
  - alignment# :: a -> Int#
  - indexByteArray# :: ByteArray# -> Int# -> a
  - readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, a #)
  - writeByteArray# :: MutableByteArray# s -> Int# -> a -> State# s -> State# s
  - setByteArray# :: MutableByteArray# s -> Int# -> Int# -> a -> State# s -> State# s
  - indexOffAddr# :: Addr# -> Int# -> a
  - readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, a #)
  - writeOffAddr# :: Addr# -> Int# -> a -> State# s -> State# s
  - setOffAddr# :: Addr# -> Int# -> Int# -> a -> State# s -> State# s
- sizeOf :: Prim a => a -> Int
- sizeOfType :: Prim a => Int
- alignment :: Prim a => a -> Int
- alignmentOfType :: Prim a => Int
- defaultSetByteArray# :: Prim a => MutableByteArray# s -> Int# -> Int# -> a -> State# s -> State# s
- defaultSetOffAddr# :: Prim a => Addr# -> Int# -> Int# -> a -> State# s -> State# s
- newtype PrimStorable a = PrimStorable {
  - getPrimStorable :: a
  }
- data Ptr a = Ptr Addr#

# Documentation

class Prim a where #

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.

Minimal complete definition

(sizeOfType# | sizeOf#), (alignmentOfType# | alignment#), indexByteArray#, readByteArray#, writeByteArray#, indexOffAddr#, readOffAddr#, writeOffAddr#

Methods

sizeOfType# :: Proxy a -> Int# #

The size of values of type `a` in bytes. This has to be used with TypeApplications: `sizeOfType @a`.

Since: 0.9.0.0

sizeOf# :: a -> Int# #

The size of values of type `a` in bytes. The argument is not used.

It is recommended to use `sizeOfType#` instead.

alignmentOfType# :: Proxy a -> Int# #

The alignment of values of type `a` in bytes. This has to be used with TypeApplications: `alignmentOfType @a`.

Since: 0.9.0.0

alignment# :: a -> Int# #

The alignment of values of type `a` in bytes. The argument is not used.

It is recommended to use `alignmentOfType#` instead.

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

Arguments

:: MutableByteArray# s |
-> Int# | offset
-> Int# | length
-> 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# #

Arguments

:: Addr# |
-> Int# | offset
-> Int# | length
-> 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

Instances details

Prim CBool # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CBool -> Int# #

sizeOf# :: CBool -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CChar -> Int# #

sizeOf# :: CChar -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CClock -> Int# #

sizeOf# :: CClock -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CDouble -> Int# #

sizeOf# :: CDouble -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CFloat -> Int# #

sizeOf# :: CFloat -> Int# #

alignmentOfType# :: Proxy 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 CInt # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CInt -> Int# #

sizeOf# :: CInt -> Int# #

alignmentOfType# :: Proxy 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 CIntMax # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CIntMax -> Int# #

sizeOf# :: CIntMax -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CIntPtr -> Int# #

sizeOf# :: CIntPtr -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CLLong -> Int# #

sizeOf# :: CLLong -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CLong -> Int# #

sizeOf# :: CLong -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CPtrdiff -> Int# #

sizeOf# :: CPtrdiff -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSChar -> Int# #

sizeOf# :: CSChar -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSUSeconds -> Int# #

sizeOf# :: CSUSeconds -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CShort -> Int# #

sizeOf# :: CShort -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSigAtomic -> Int# #

sizeOf# :: CSigAtomic -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSize -> Int# #

sizeOf# :: CSize -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CTime -> Int# #

sizeOf# :: CTime -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUChar -> Int# #

sizeOf# :: CUChar -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUInt -> Int# #

sizeOf# :: CUInt -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUIntMax -> Int# #

sizeOf# :: CUIntMax -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUIntPtr -> Int# #

sizeOf# :: CUIntPtr -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CULLong -> Int# #

sizeOf# :: CULLong -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CULong -> Int# #

sizeOf# :: CULong -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUSeconds -> Int# #

sizeOf# :: CUSeconds -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUShort -> Int# #

sizeOf# :: CUShort -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CWchar -> Int# #

sizeOf# :: CWchar -> Int# #

alignmentOfType# :: Proxy 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 IntPtr # | Since: 0.7.1.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy IntPtr -> Int# #

sizeOf# :: IntPtr -> Int# #

alignmentOfType# :: Proxy IntPtr -> Int# #

alignment# :: IntPtr -> Int# #

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

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

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

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

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

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

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

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

Prim WordPtr # | Since: 0.7.1.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy WordPtr -> Int# #

sizeOf# :: WordPtr -> Int# #

alignmentOfType# :: Proxy WordPtr -> Int# #

alignment# :: WordPtr -> Int# #

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

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

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

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

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

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

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

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

Prim Int16 # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int16 -> Int# #

sizeOf# :: Int16 -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Int32 -> Int# #

sizeOf# :: Int32 -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Int64 -> Int# #

sizeOf# :: Int64 -> Int# #

alignmentOfType# :: Proxy 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 Int8 # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int8 -> Int# #

sizeOf# :: Int8 -> Int# #

alignmentOfType# :: Proxy 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 CBlkCnt # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CBlkCnt -> Int# #

sizeOf# :: CBlkCnt -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CBlkSize -> Int# #

sizeOf# :: CBlkSize -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CCc -> Int# #

sizeOf# :: CCc -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CClockId -> Int# #

sizeOf# :: CClockId -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CDev -> Int# #

sizeOf# :: CDev -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CFsBlkCnt -> Int# #

sizeOf# :: CFsBlkCnt -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CFsFilCnt -> Int# #

sizeOf# :: CFsFilCnt -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CGid -> Int# #

sizeOf# :: CGid -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CId -> Int# #

sizeOf# :: CId -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CIno -> Int# #

sizeOf# :: CIno -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CKey -> Int# #

sizeOf# :: CKey -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CMode -> Int# #

sizeOf# :: CMode -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CNlink -> Int# #

sizeOf# :: CNlink -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy COff -> Int# #

sizeOf# :: COff -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CPid -> Int# #

sizeOf# :: CPid -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CRLim -> Int# #

sizeOf# :: CRLim -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSpeed -> Int# #

sizeOf# :: CSpeed -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CSsize -> Int# #

sizeOf# :: CSsize -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CTcflag -> Int# #

sizeOf# :: CTcflag -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CTimer -> Int# #

sizeOf# :: CTimer -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy CUid -> Int# #

sizeOf# :: CUid -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Fd -> Int# #

sizeOf# :: Fd -> Int# #

alignmentOfType# :: Proxy 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 Word16 # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word16 -> Int# #

sizeOf# :: Word16 -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Word32 -> Int# #

sizeOf# :: Word32 -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Word64 -> Int# #

sizeOf# :: Word64 -> Int# #

alignmentOfType# :: Proxy 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 Word8 # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word8 -> Int# #

sizeOf# :: Word8 -> Int# #

alignmentOfType# :: Proxy 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 Char # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Char -> Int# #

sizeOf# :: Char -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Double -> Int# #

sizeOf# :: Double -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Float -> Int# #

sizeOf# :: Float -> Int# #

alignmentOfType# :: Proxy 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

sizeOfType# :: Proxy Int -> Int# #

sizeOf# :: Int -> Int# #

alignmentOfType# :: Proxy 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 Word # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word -> Int# #

sizeOf# :: Word -> Int# #

alignmentOfType# :: Proxy 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 a => Prim (Complex a) # | Since: 0.9.0.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Complex a) -> Int# #

sizeOf# :: Complex a -> Int# #

alignmentOfType# :: Proxy (Complex a) -> Int# #

alignment# :: Complex a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (First a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (First a) -> Int# #

sizeOf# :: First a -> Int# #

alignmentOfType# :: Proxy (First a) -> Int# #

alignment# :: First a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Last a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Last a) -> Int# #

sizeOf# :: Last a -> Int# #

alignmentOfType# :: Proxy (Last a) -> Int# #

alignment# :: Last a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Max a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Max a) -> Int# #

sizeOf# :: Max a -> Int# #

alignmentOfType# :: Proxy (Max a) -> Int# #

alignment# :: Max a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Min a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Min a) -> Int# #

sizeOf# :: Min a -> Int# #

alignmentOfType# :: Proxy (Min a) -> Int# #

alignment# :: Min a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Identity a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Identity a) -> Int# #

sizeOf# :: Identity a -> Int# #

alignmentOfType# :: Proxy (Identity a) -> Int# #

alignment# :: Identity a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Down a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Down a) -> Int# #

sizeOf# :: Down a -> Int# #

alignmentOfType# :: Proxy (Down a) -> Int# #

alignment# :: Down a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Dual a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Dual a) -> Int# #

sizeOf# :: Dual a -> Int# #

alignmentOfType# :: Proxy (Dual a) -> Int# #

alignment# :: Dual a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Product a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Product a) -> Int# #

sizeOf# :: Product a -> Int# #

alignmentOfType# :: Proxy (Product a) -> Int# #

alignment# :: Product a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Sum a) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Sum a) -> Int# #

sizeOf# :: Sum a -> Int# #

alignmentOfType# :: Proxy (Sum a) -> Int# #

alignment# :: Sum a -> Int# #

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

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

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

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

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

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

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

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

Prim (FunPtr a) # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (FunPtr a) -> Int# #

sizeOf# :: FunPtr a -> Int# #

alignmentOfType# :: Proxy (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 #

Prim (Ptr a) # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Ptr a) -> Int# #

sizeOf# :: Ptr a -> Int# #

alignmentOfType# :: Proxy (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 (StablePtr a) # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (StablePtr a) -> Int# #

sizeOf# :: StablePtr a -> Int# #

alignmentOfType# :: Proxy (StablePtr a) -> Int# #

alignment# :: StablePtr a -> Int# #

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

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

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

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

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

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

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

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

Prim a => Prim (Const a b) # | Since: 0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Const a b) -> Int# #

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

alignmentOfType# :: Proxy (Const a b) -> Int# #

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

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

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

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

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

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

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

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

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

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

The size of values of type `a` in bytes. The argument is not used.

It is recommended to use `sizeOfType` instead.

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

sizeOfType :: Prim a => Int #

The size of values of type `a` in bytes. This has to be used with TypeApplications: `sizeOfType @a`.

    >>> :set -XTypeApplications
    >>> import Data.Int (Int32)
    >>> sizeOfType @Int32
    4

Since: 0.9.0.0

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

The alignment of values of type `a` in bytes. The argument is not used.

It is recommended to use `alignmentOfType` instead.

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

alignmentOfType :: Prim a => Int #

The alignment of values of type `a` in bytes. This has to be used with TypeApplications: `alignmentOfType @a`.

Since: 0.9.0.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
      sizeOfType# _ = 3# *# sizeOfType# (proxy# :: Proxy# Int)
      alignmentOfType# _ = alignmentOfType# (proxy# :: Proxy# 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.

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

- getPrimStorable :: a

#### Instances

Instances details

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

data Ptr a #

A value of type ``Ptr` a` represents a pointer to an object, or an array of objects, which may be marshalled to or from Haskell values of type `a`.

The type `a` will often be an instance of class `Storable` which provides the marshalling operations. However this is not essential, and you can provide your own operations to access the pointer. For example you might write small foreign functions to get or set the fields of a C `struct`.

Constructors

Ptr Addr# |

#### Instances

Instances details

NFData1 Ptr | Since: deepseq-1.4.3.0
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> Ptr a -> () #
Generic1 (URec (Ptr ()) :: k -> Type) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep1 (URec (Ptr ()) :: k -> Type) | @since base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep1 (URec (Ptr ()) :: k -> Type) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: k -> Type)))

Methods

from1 :: forall (a :: k). URec (Ptr ()) a -> Rep1 (URec (Ptr ()) :: k -> Type) a #

to1 :: forall (a :: k). Rep1 (URec (Ptr ()) :: k -> Type) a -> URec (Ptr ()) a #

NFData (Ptr a) | Since: deepseq-1.4.2.0
Instance details Defined in Control.DeepSeq Methods rnf :: Ptr a -> () #
Data a => Data (Ptr a) | @since base-4.8.0.0

Instance details

Defined in GHC.Internal.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) #

Foldable (UAddr :: Type -> Type) | @since base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => UAddr m -> m #

foldMap :: Monoid m => (a -> m) -> UAddr a -> m #

foldMap' :: Monoid m => (a -> m) -> UAddr a -> m #

foldr :: (a -> b -> b) -> b -> UAddr a -> b #

foldr' :: (a -> b -> b) -> b -> UAddr a -> b #

foldl :: (b -> a -> b) -> b -> UAddr a -> b #

foldl' :: (b -> a -> b) -> b -> UAddr a -> b #

foldr1 :: (a -> a -> a) -> UAddr a -> a #

foldl1 :: (a -> a -> a) -> UAddr a -> a #

toList :: UAddr a -> [a] #

null :: UAddr a -> Bool #

length :: UAddr a -> Int #

elem :: Eq a => a -> UAddr a -> Bool #

maximum :: Ord a => UAddr a -> a #

minimum :: Ord a => UAddr a -> a #

sum :: Num a => UAddr a -> a #

product :: Num a => UAddr a -> a #

Traversable (UAddr :: Type -> Type) | @since base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> UAddr a -> f (UAddr b) # sequenceA :: Applicative f => UAddr (f a) -> f (UAddr a) # mapM :: Monad m => (a -> m b) -> UAddr a -> m (UAddr b) # sequence :: Monad m => UAddr (m a) -> m (UAddr a) #
Storable (Ptr a) | @since base-2.01
Instance details Defined in GHC.Internal.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 () #
Show (Ptr a) | @since base-2.01
Instance details Defined in GHC.Internal.Ptr Methods showsPrec :: Int -> Ptr a -> ShowS # show :: Ptr a -> String # showList :: [Ptr a] -> ShowS #
Eq (Ptr a) | @since base-2.01
Instance details Defined in GHC.Internal.Ptr Methods (==) :: Ptr a -> Ptr a -> Bool # (/=) :: Ptr a -> Ptr a -> Bool #
Ord (Ptr a) | @since base-2.01
Instance details Defined in GHC.Internal.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 #
Prim (Ptr a) # |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Ptr a) -> Int# #

sizeOf# :: Ptr a -> Int# #

alignmentOfType# :: Proxy (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 #

Functor (URec (Ptr ()) :: Type -> Type) | @since base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b # (<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #
Generic (URec (Ptr ()) p) |

Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep (URec (Ptr ()) p) | @since base-4.9.0.0
Instance details Defined in GHC.Internal.Generics type Rep (URec (Ptr ()) p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UAddr" 'PrefixI 'True) (S1 ('MetaSel ('Just "uAddr#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UAddr :: Type -> Type)))

Methods

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

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

Eq (URec (Ptr ()) p) | @since base-4.9.0.0
Instance details Defined in GHC.Internal.Generics Methods (==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool #
Ord (URec (Ptr ()) p) | @since base-4.9.0.0

Instance details

Defined in GHC.Internal.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 #

data URec (Ptr ()) (p :: k) | Used for marking occurrences of `Addr#` @since base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

data URec (Ptr ()) (p :: k) = UAddr {

- uAddr# :: Addr#

}

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