dahdit-0.3.0: Binary parsing and serialization with integrated size
Safe HaskellSafe-Inferred
LanguageHaskell2010

Dahdit.LiftedPrim

Synopsis

Documentation

class StaticByteSized a => LiftedPrim a where Source #

This is a stripped-down version of Prim that is possible for a human to implement. It's all about reading and writing structures from lifted byte arrays and pointers.

Instances

Instances details
LiftedPrim Int8 Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word8 Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim DoubleBE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim DoubleLE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim FloatBE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim FloatLE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int16BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int16LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int24BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int24LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int32BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int32LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int64BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Int64LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word16BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word16LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word24BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word24LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word32BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word32LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word64BE Source # 
Instance details

Defined in Dahdit.LiftedPrim

LiftedPrim Word64LE Source # 
Instance details

Defined in Dahdit.LiftedPrim

(LiftedPrim le, EndianPair le be) => LiftedPrim (ViaEndianPair le be) Source # 
Instance details

Defined in Dahdit.LiftedPrim

(Integral x, LiftedPrim x, Integral y) => LiftedPrim (ViaFromIntegral x y) Source #

NOTE: Relies on same byte width of both types!

Instance details

Defined in Dahdit.LiftedPrim

setByteArrayLifted :: (PrimMonad m, LiftedPrim a) => MutableByteArray (PrimState m) -> ByteCount -> ByteCount -> a -> m () Source #

Fill a byte array with the given value