derive-prim-0.1.0.1: Derive Prim and PrimUnaligned
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.Primitive.Generic

Synopsis

Documentation

newtype Align (a :: Nat) t Source #

A wrapper that modify the wrapped type alignment

Constructors

Align t 

Instances

Instances details
(ValidAlign a, KnownNat a, Prim t) => Prim (Align a t) Source # 
Instance details

Defined in Data.Primitive.Generic

Methods

sizeOfType# :: Proxy (Align a t) -> Int# #

sizeOf# :: Align a t -> Int# #

alignmentOfType# :: Proxy (Align a t) -> Int# #

alignment# :: Align a t -> Int# #

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

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

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

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

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

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

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

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

PrimUnaligned t => PrimUnaligned (Align a t) Source # 
Instance details

Defined in Data.Primitive.Generic

type Packed = Align 1 Source #

Modify type to have alignment of 1

newtype GenericPrim a Source #

Derive Prim and PrimUnaligned instances

Constructors

GenericPrim a 

offsetOf :: forall t s. (Generic t, DerivePrim (Rep t), OffsetOf (DeriveTree (Rep t)) s, Assert "Field does not exist" (HasOffsetOf (DeriveTree (Rep t)) s)) => Int Source #

Orphan instances

PrimUnaligned CBool Source # 
Instance details

PrimUnaligned CClock Source # 
Instance details

PrimUnaligned CFloat Source # 
Instance details

PrimUnaligned CIntMax Source # 
Instance details

PrimUnaligned CIntPtr Source # 
Instance details

PrimUnaligned CPtrdiff Source # 
Instance details

PrimUnaligned CSUSeconds Source # 
Instance details

PrimUnaligned CSigAtomic Source # 
Instance details

PrimUnaligned CSize Source # 
Instance details

PrimUnaligned CTime Source # 
Instance details

PrimUnaligned CUChar Source # 
Instance details

PrimUnaligned CUIntMax Source # 
Instance details

PrimUnaligned CUIntPtr Source # 
Instance details

PrimUnaligned CUSeconds Source # 
Instance details

PrimUnaligned CUShort Source # 
Instance details

PrimUnaligned CWchar Source # 
Instance details

PrimUnaligned IntPtr Source # 
Instance details

PrimUnaligned WordPtr Source # 
Instance details

PrimUnaligned CBlkCnt Source # 
Instance details

PrimUnaligned CBlkSize Source # 
Instance details

PrimUnaligned CCc Source # 
Instance details

PrimUnaligned CClockId Source # 
Instance details

PrimUnaligned CFsBlkCnt Source # 
Instance details

PrimUnaligned CFsFilCnt Source # 
Instance details

PrimUnaligned CGid Source # 
Instance details

PrimUnaligned CId Source # 
Instance details

PrimUnaligned CKey Source # 
Instance details

PrimUnaligned CNlink Source # 
Instance details

PrimUnaligned CRLim Source # 
Instance details

PrimUnaligned CSpeed Source # 
Instance details

PrimUnaligned CTcflag Source # 
Instance details

PrimUnaligned CTimer Source # 
Instance details

PrimUnaligned CUid Source # 
Instance details

(Prim a, PrimUnaligned a) => PrimUnaligned (Complex a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Identity a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Down a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (First a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Last a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Max a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Min a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Dual a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Product a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Sum a) Source # 
Instance details

PrimUnaligned (FunPtr a) Source # 
Instance details

PrimUnaligned (StablePtr a) Source # 
Instance details

PrimUnaligned a => PrimUnaligned (Const a b) Source # 
Instance details