Data.Primitive.Types

primitive-0.7.4.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 | Safe-Inferred
Language | Haskell2010

Data.Primitive.Types

Description

Basic types and classes for primitive array operations.

Synopsis

- class Prim a where
  - sizeOf# :: 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
- alignment :: Prim a => 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.

Methods

sizeOf# :: a -> Int# #

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

alignment# :: a -> Int# #

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

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

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

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

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

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

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

setByteArray# #

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 sizeOf# :: CBool -> Int# # alignment# :: CBool -> Int# # indexByteArray# :: ByteArray# -> Int# -> CBool # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBool #) # writeByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBool -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CBool # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBool #) # writeOffAddr# :: Addr# -> Int# -> CBool -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CBool -> State# s -> State# s #
Prim CChar # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CChar -> Int# # alignment# :: CChar -> Int# # indexByteArray# :: ByteArray# -> Int# -> CChar # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CChar #) # writeByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CChar -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CChar # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CChar #) # writeOffAddr# :: Addr# -> Int# -> CChar -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CChar -> State# s -> State# s #
Prim CClock # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CClock -> Int# # alignment# :: CClock -> Int# # indexByteArray# :: ByteArray# -> Int# -> CClock # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClock #) # writeByteArray# :: MutableByteArray# s -> Int# -> CClock -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClock -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CClock # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClock #) # writeOffAddr# :: Addr# -> Int# -> CClock -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CClock -> State# s -> State# s #
Prim CDouble # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CDouble -> Int# # alignment# :: CDouble -> Int# # indexByteArray# :: ByteArray# -> Int# -> CDouble # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDouble #) # writeByteArray# :: MutableByteArray# s -> Int# -> CDouble -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDouble -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CDouble # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDouble #) # writeOffAddr# :: Addr# -> Int# -> CDouble -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CDouble -> State# s -> State# s #
Prim CFloat # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CFloat -> Int# # alignment# :: CFloat -> Int# # indexByteArray# :: ByteArray# -> Int# -> CFloat # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFloat #) # writeByteArray# :: MutableByteArray# s -> Int# -> CFloat -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFloat -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CFloat # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFloat #) # writeOffAddr# :: Addr# -> Int# -> CFloat -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CFloat -> State# s -> State# s #
Prim CInt # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CInt -> Int# # alignment# :: CInt -> Int# # indexByteArray# :: ByteArray# -> Int# -> CInt # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CInt #) # writeByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CInt -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CInt # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CInt #) # writeOffAddr# :: Addr# -> Int# -> CInt -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CInt -> State# s -> State# s #
Prim CIntMax # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CIntMax -> Int# # alignment# :: CIntMax -> Int# # indexByteArray# :: ByteArray# -> Int# -> CIntMax # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntMax #) # writeByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntMax -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CIntMax # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntMax #) # writeOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CIntMax -> State# s -> State# s #
Prim CIntPtr # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CIntPtr -> Int# # alignment# :: CIntPtr -> Int# # indexByteArray# :: ByteArray# -> Int# -> CIntPtr # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntPtr #) # writeByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntPtr -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CIntPtr # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntPtr #) # writeOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CIntPtr -> State# s -> State# s #
Prim CLLong # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CLLong -> Int# # alignment# :: CLLong -> Int# # indexByteArray# :: ByteArray# -> Int# -> CLLong # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLLong #) # writeByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLLong -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CLLong # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLLong #) # writeOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CLLong -> State# s -> State# s #
Prim CLong # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CLong -> Int# # alignment# :: CLong -> Int# # indexByteArray# :: ByteArray# -> Int# -> CLong # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLong #) # writeByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLong -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CLong # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLong #) # writeOffAddr# :: Addr# -> Int# -> CLong -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CLong -> State# s -> State# s #
Prim CPtrdiff # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CPtrdiff -> Int# # alignment# :: CPtrdiff -> Int# # indexByteArray# :: ByteArray# -> Int# -> CPtrdiff # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPtrdiff #) # writeByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPtrdiff -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CPtrdiff # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPtrdiff #) # writeOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CPtrdiff -> State# s -> State# s #
Prim CSChar # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSChar -> Int# # alignment# :: CSChar -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSChar # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSChar #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSChar -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSChar # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSChar #) # writeOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSChar -> State# s -> State# s #
Prim CSUSeconds # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSUSeconds -> Int# # alignment# :: CSUSeconds -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSUSeconds # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSUSeconds #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSUSeconds -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSUSeconds -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSUSeconds # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSUSeconds #) # writeOffAddr# :: Addr# -> Int# -> CSUSeconds -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSUSeconds -> State# s -> State# s #
Prim CShort # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CShort -> Int# # alignment# :: CShort -> Int# # indexByteArray# :: ByteArray# -> Int# -> CShort # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CShort #) # writeByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CShort -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CShort # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CShort #) # writeOffAddr# :: Addr# -> Int# -> CShort -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CShort -> State# s -> State# s #
Prim CSigAtomic # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSigAtomic -> Int# # alignment# :: CSigAtomic -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSigAtomic # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSigAtomic #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSigAtomic -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSigAtomic # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSigAtomic #) # writeOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSigAtomic -> State# s -> State# s #
Prim CSize # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSize -> Int# # alignment# :: CSize -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSize # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSize #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSize -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSize # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSize #) # writeOffAddr# :: Addr# -> Int# -> CSize -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSize -> State# s -> State# s #
Prim CTime # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CTime -> Int# # alignment# :: CTime -> Int# # indexByteArray# :: ByteArray# -> Int# -> CTime # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTime #) # writeByteArray# :: MutableByteArray# s -> Int# -> CTime -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTime -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CTime # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTime #) # writeOffAddr# :: Addr# -> Int# -> CTime -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CTime -> State# s -> State# s #
Prim CUChar # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUChar -> Int# # alignment# :: CUChar -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUChar # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUChar #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUChar -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUChar # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUChar #) # writeOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUChar -> State# s -> State# s #
Prim CUInt # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUInt -> Int# # alignment# :: CUInt -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUInt # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUInt #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUInt -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUInt # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUInt #) # writeOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUInt -> State# s -> State# s #
Prim CUIntMax # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUIntMax -> Int# # alignment# :: CUIntMax -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUIntMax # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntMax #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntMax -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUIntMax # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntMax #) # writeOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUIntMax -> State# s -> State# s #
Prim CUIntPtr # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUIntPtr -> Int# # alignment# :: CUIntPtr -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUIntPtr # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntPtr #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntPtr -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUIntPtr # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntPtr #) # writeOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUIntPtr -> State# s -> State# s #
Prim CULLong # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CULLong -> Int# # alignment# :: CULLong -> Int# # indexByteArray# :: ByteArray# -> Int# -> CULLong # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULLong #) # writeByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULLong -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CULLong # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULLong #) # writeOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CULLong -> State# s -> State# s #
Prim CULong # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CULong -> Int# # alignment# :: CULong -> Int# # indexByteArray# :: ByteArray# -> Int# -> CULong # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULong #) # writeByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULong -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CULong # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULong #) # writeOffAddr# :: Addr# -> Int# -> CULong -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CULong -> State# s -> State# s #
Prim CUSeconds # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUSeconds -> Int# # alignment# :: CUSeconds -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUSeconds # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUSeconds #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUSeconds -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUSeconds -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUSeconds # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUSeconds #) # writeOffAddr# :: Addr# -> Int# -> CUSeconds -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUSeconds -> State# s -> State# s #
Prim CUShort # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUShort -> Int# # alignment# :: CUShort -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUShort # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUShort #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUShort -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUShort # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUShort #) # writeOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUShort -> State# s -> State# s #
Prim CWchar # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CWchar -> Int# # alignment# :: CWchar -> Int# # indexByteArray# :: ByteArray# -> Int# -> CWchar # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CWchar #) # writeByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CWchar -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CWchar # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CWchar #) # writeOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CWchar -> State# s -> State# s #
Prim IntPtr # | Since: 0.7.1.0
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: 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 sizeOf# :: 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 sizeOf# :: Int16 -> Int# # alignment# :: Int16 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int16 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int16 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int16 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int16 #) # writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s #
Prim Int32 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Int32 -> Int# # alignment# :: Int32 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int32 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int32 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int32 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int32 #) # writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s #
Prim Int64 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Int64 -> Int# # alignment# :: Int64 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int64 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int64 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int64 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int64 #) # writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s #
Prim Int8 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Int8 -> Int# # alignment# :: Int8 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int8 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int8 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int8 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int8 #) # writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s #
Prim Word16 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Word16 -> Int# # alignment# :: Word16 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word16 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word16 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word16 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word16 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word16 #) # writeOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word16 -> State# s -> State# s #
Prim Word32 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Word32 -> Int# # alignment# :: Word32 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word32 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word32 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word32 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word32 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word32 #) # writeOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word32 -> State# s -> State# s #
Prim Word64 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Word64 -> Int# # alignment# :: Word64 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word64 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word64 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word64 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word64 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word64 #) # writeOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word64 -> State# s -> State# s #
Prim Word8 # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Word8 -> Int# # alignment# :: Word8 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word8 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word8 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word8 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word8 #) # writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s #
Prim CBlkCnt # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CBlkCnt -> Int# # alignment# :: CBlkCnt -> Int# # indexByteArray# :: ByteArray# -> Int# -> CBlkCnt # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkCnt #) # writeByteArray# :: MutableByteArray# s -> Int# -> CBlkCnt -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkCnt -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CBlkCnt # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkCnt #) # writeOffAddr# :: Addr# -> Int# -> CBlkCnt -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CBlkCnt -> State# s -> State# s #
Prim CBlkSize # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CBlkSize -> Int# # alignment# :: CBlkSize -> Int# # indexByteArray# :: ByteArray# -> Int# -> CBlkSize # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkSize #) # writeByteArray# :: MutableByteArray# s -> Int# -> CBlkSize -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkSize -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CBlkSize # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkSize #) # writeOffAddr# :: Addr# -> Int# -> CBlkSize -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CBlkSize -> State# s -> State# s #
Prim CCc # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CCc -> Int# # alignment# :: CCc -> Int# # indexByteArray# :: ByteArray# -> Int# -> CCc # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CCc #) # writeByteArray# :: MutableByteArray# s -> Int# -> CCc -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CCc -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CCc # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CCc #) # writeOffAddr# :: Addr# -> Int# -> CCc -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CCc -> State# s -> State# s #
Prim CClockId # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CClockId -> Int# # alignment# :: CClockId -> Int# # indexByteArray# :: ByteArray# -> Int# -> CClockId # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClockId #) # writeByteArray# :: MutableByteArray# s -> Int# -> CClockId -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClockId -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CClockId # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClockId #) # writeOffAddr# :: Addr# -> Int# -> CClockId -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CClockId -> State# s -> State# s #
Prim CDev # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CDev -> Int# # alignment# :: CDev -> Int# # indexByteArray# :: ByteArray# -> Int# -> CDev # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDev #) # writeByteArray# :: MutableByteArray# s -> Int# -> CDev -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDev -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CDev # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDev #) # writeOffAddr# :: Addr# -> Int# -> CDev -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CDev -> State# s -> State# s #
Prim CFsBlkCnt # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CFsBlkCnt -> Int# # alignment# :: CFsBlkCnt -> Int# # indexByteArray# :: ByteArray# -> Int# -> CFsBlkCnt # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsBlkCnt #) # writeByteArray# :: MutableByteArray# s -> Int# -> CFsBlkCnt -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CFsBlkCnt # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsBlkCnt #) # writeOffAddr# :: Addr# -> Int# -> CFsBlkCnt -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s #
Prim CFsFilCnt # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CFsFilCnt -> Int# # alignment# :: CFsFilCnt -> Int# # indexByteArray# :: ByteArray# -> Int# -> CFsFilCnt # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsFilCnt #) # writeByteArray# :: MutableByteArray# s -> Int# -> CFsFilCnt -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CFsFilCnt # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsFilCnt #) # writeOffAddr# :: Addr# -> Int# -> CFsFilCnt -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s #
Prim CGid # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CGid -> Int# # alignment# :: CGid -> Int# # indexByteArray# :: ByteArray# -> Int# -> CGid # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CGid #) # writeByteArray# :: MutableByteArray# s -> Int# -> CGid -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CGid -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CGid # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CGid #) # writeOffAddr# :: Addr# -> Int# -> CGid -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CGid -> State# s -> State# s #
Prim CId # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CId -> Int# # alignment# :: CId -> Int# # indexByteArray# :: ByteArray# -> Int# -> CId # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CId #) # writeByteArray# :: MutableByteArray# s -> Int# -> CId -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CId -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CId # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CId #) # writeOffAddr# :: Addr# -> Int# -> CId -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CId -> State# s -> State# s #
Prim CIno # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CIno -> Int# # alignment# :: CIno -> Int# # indexByteArray# :: ByteArray# -> Int# -> CIno # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIno #) # writeByteArray# :: MutableByteArray# s -> Int# -> CIno -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIno -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CIno # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIno #) # writeOffAddr# :: Addr# -> Int# -> CIno -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CIno -> State# s -> State# s #
Prim CKey # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CKey -> Int# # alignment# :: CKey -> Int# # indexByteArray# :: ByteArray# -> Int# -> CKey # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CKey #) # writeByteArray# :: MutableByteArray# s -> Int# -> CKey -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CKey -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CKey # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CKey #) # writeOffAddr# :: Addr# -> Int# -> CKey -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CKey -> State# s -> State# s #
Prim CMode # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CMode -> Int# # alignment# :: CMode -> Int# # indexByteArray# :: ByteArray# -> Int# -> CMode # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CMode #) # writeByteArray# :: MutableByteArray# s -> Int# -> CMode -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CMode -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CMode # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CMode #) # writeOffAddr# :: Addr# -> Int# -> CMode -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CMode -> State# s -> State# s #
Prim CNlink # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CNlink -> Int# # alignment# :: CNlink -> Int# # indexByteArray# :: ByteArray# -> Int# -> CNlink # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CNlink #) # writeByteArray# :: MutableByteArray# s -> Int# -> CNlink -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CNlink -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CNlink # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CNlink #) # writeOffAddr# :: Addr# -> Int# -> CNlink -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CNlink -> State# s -> State# s #
Prim COff # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: COff -> Int# # alignment# :: COff -> Int# # indexByteArray# :: ByteArray# -> Int# -> COff # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, COff #) # writeByteArray# :: MutableByteArray# s -> Int# -> COff -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> COff -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> COff # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, COff #) # writeOffAddr# :: Addr# -> Int# -> COff -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> COff -> State# s -> State# s #
Prim CPid # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CPid -> Int# # alignment# :: CPid -> Int# # indexByteArray# :: ByteArray# -> Int# -> CPid # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPid #) # writeByteArray# :: MutableByteArray# s -> Int# -> CPid -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPid -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CPid # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPid #) # writeOffAddr# :: Addr# -> Int# -> CPid -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CPid -> State# s -> State# s #
Prim CRLim # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CRLim -> Int# # alignment# :: CRLim -> Int# # indexByteArray# :: ByteArray# -> Int# -> CRLim # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CRLim #) # writeByteArray# :: MutableByteArray# s -> Int# -> CRLim -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CRLim -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CRLim # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CRLim #) # writeOffAddr# :: Addr# -> Int# -> CRLim -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CRLim -> State# s -> State# s #
Prim CSpeed # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSpeed -> Int# # alignment# :: CSpeed -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSpeed # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSpeed #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSpeed -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSpeed -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSpeed # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSpeed #) # writeOffAddr# :: Addr# -> Int# -> CSpeed -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSpeed -> State# s -> State# s #
Prim CSsize # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CSsize -> Int# # alignment# :: CSsize -> Int# # indexByteArray# :: ByteArray# -> Int# -> CSsize # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSsize #) # writeByteArray# :: MutableByteArray# s -> Int# -> CSsize -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSsize -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CSsize # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSsize #) # writeOffAddr# :: Addr# -> Int# -> CSsize -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CSsize -> State# s -> State# s #
Prim CTcflag # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CTcflag -> Int# # alignment# :: CTcflag -> Int# # indexByteArray# :: ByteArray# -> Int# -> CTcflag # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTcflag #) # writeByteArray# :: MutableByteArray# s -> Int# -> CTcflag -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTcflag -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CTcflag # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTcflag #) # writeOffAddr# :: Addr# -> Int# -> CTcflag -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CTcflag -> State# s -> State# s #
Prim CTimer # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CTimer -> Int# # alignment# :: CTimer -> Int# # indexByteArray# :: ByteArray# -> Int# -> CTimer # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTimer #) # writeByteArray# :: MutableByteArray# s -> Int# -> CTimer -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTimer -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CTimer # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTimer #) # writeOffAddr# :: Addr# -> Int# -> CTimer -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CTimer -> State# s -> State# s #
Prim CUid # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: CUid -> Int# # alignment# :: CUid -> Int# # indexByteArray# :: ByteArray# -> Int# -> CUid # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUid #) # writeByteArray# :: MutableByteArray# s -> Int# -> CUid -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUid -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> CUid # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUid #) # writeOffAddr# :: Addr# -> Int# -> CUid -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> CUid -> State# s -> State# s #
Prim Fd # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Fd -> Int# # alignment# :: Fd -> Int# # indexByteArray# :: ByteArray# -> Int# -> Fd # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Fd #) # writeByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Fd -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Fd # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Fd #) # writeOffAddr# :: Addr# -> Int# -> Fd -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Fd -> State# s -> State# s #
Prim Char # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Char -> Int# # alignment# :: Char -> Int# # indexByteArray# :: ByteArray# -> Int# -> Char # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Char #) # writeByteArray# :: MutableByteArray# s -> Int# -> Char -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Char -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Char # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Char #) # writeOffAddr# :: Addr# -> Int# -> Char -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Char -> State# s -> State# s #
Prim Double # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Double -> Int# # alignment# :: Double -> Int# # indexByteArray# :: ByteArray# -> Int# -> Double # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Double #) # writeByteArray# :: MutableByteArray# s -> Int# -> Double -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Double -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Double # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Double #) # writeOffAddr# :: Addr# -> Int# -> Double -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Double -> State# s -> State# s #
Prim Float # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Float -> Int# # alignment# :: Float -> Int# # indexByteArray# :: ByteArray# -> Int# -> Float # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Float #) # writeByteArray# :: MutableByteArray# s -> Int# -> Float -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Float -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Float # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Float #) # writeOffAddr# :: Addr# -> Int# -> Float -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Float -> State# s -> State# s #
Prim Int # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Int -> Int# # alignment# :: Int -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int #) # writeOffAddr# :: Addr# -> Int# -> Int -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int -> State# s -> State# s #
Prim Word # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Word -> Int# # alignment# :: Word -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word #) # writeOffAddr# :: Addr# -> Int# -> Word -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word -> State# s -> State# s #
Prim a => Prim (Identity a) # | Since: 0.6.5.0
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: 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 sizeOf# :: 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 (First a) # | Since: 0.6.5.0
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: 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 sizeOf# :: 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 sizeOf# :: 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 sizeOf# :: 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 (Dual a) # | Since: 0.6.5.0
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: 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 sizeOf# :: 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 sizeOf# :: 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 sizeOf# :: FunPtr a -> Int# # alignment# :: FunPtr a -> Int# # indexByteArray# :: ByteArray# -> Int# -> FunPtr a # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, FunPtr a #) # writeByteArray# :: MutableByteArray# s -> Int# -> FunPtr a -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> FunPtr a -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> FunPtr a # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, FunPtr a #) # writeOffAddr# :: Addr# -> Int# -> FunPtr a -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> FunPtr a -> State# s -> State# s #
Prim (Ptr a) # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Ptr a -> Int# # alignment# :: Ptr a -> Int# # indexByteArray# :: ByteArray# -> Int# -> Ptr a # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Ptr a #) # writeByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Ptr a -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Ptr a # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Ptr a #) # writeOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Ptr a -> State# s -> State# s #
Prim (StablePtr a) # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: 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 sizeOf# :: 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 #

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

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

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

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

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

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

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

    data Trip = Trip Int Int Int

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

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

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

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.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 #
Data a => Data (Ptr a) | Since: base-4.8.0.0
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) #
Foldable (UAddr :: TYPE LiftedRep -> Type) | Since: base-4.9.0.0
Instance details Defined in 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 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.1
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 () #
Show (Ptr a) | Since: base-2.1
Instance details Defined in GHC.Ptr Methods showsPrec :: Int -> Ptr a -> ShowS # show :: Ptr a -> String # showList :: [Ptr a] -> ShowS #
NFData (Ptr a) | Since: deepseq-1.4.2.0
Instance details Defined in Control.DeepSeq Methods rnf :: Ptr a -> () #
Eq (Ptr a) | Since: base-2.1
Instance details Defined in GHC.Ptr Methods (==) :: Ptr a -> Ptr a -> Bool # (/=) :: Ptr a -> Ptr a -> Bool #
Ord (Ptr a) | Since: base-2.1
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 #
Prim (Ptr a) # |
Instance details Defined in Data.Primitive.Types Methods sizeOf# :: Ptr a -> Int# # alignment# :: Ptr a -> Int# # indexByteArray# :: ByteArray# -> Int# -> Ptr a # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Ptr a #) # writeByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Ptr a -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Ptr a # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Ptr a #) # writeOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Ptr a -> State# s -> State# s #
Functor (URec (Ptr ()) :: TYPE LiftedRep -> Type) | Since: base-4.9.0.0
Instance details Defined in GHC.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.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 #
Eq (URec (Ptr ()) p) | Since: base-4.9.0.0
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) | Since: base-4.9.0.0
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 #
data URec (Ptr ()) (p :: k) | Used for marking occurrences of `Addr#` Since: base-4.9.0.0
Instance details Defined in GHC.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.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) | Since: base-4.9.0.0
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)))