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

Dahdit.Internal

Documentation

newtype ViaFromIntegral (n :: Nat) x y Source #

Constructors

ViaFromIntegral 

Fields

Instances

Instances details
Num y => Num (ViaFromIntegral n x y) Source # 
Instance details

Defined in Dahdit.Internal

(SwapEndian x, Integral x, Integral y) => SwapEndian (ViaFromIntegral n x y) Source # 
Instance details

Defined in Dahdit.Internal

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

NOTE: Relies on same byte width of both types!

Instance details

Defined in Dahdit.LiftedPrim

(StaticByteSized x, n ~ StaticSize x) => StaticByteSized (ViaFromIntegral n x y) Source # 
Instance details

Defined in Dahdit.Sizes

Associated Types

type StaticSize (ViaFromIntegral n x y) :: Nat Source #

type StaticSize (ViaFromIntegral n x y) Source # 
Instance details

Defined in Dahdit.Sizes

type StaticSize (ViaFromIntegral n x y) = n

class Num w => SwapEndian w where Source #

Methods

swapEndian :: w -> w Source #

Instances

Instances details
SwapEndian Int16 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Int32 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Int64 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Int8 Source # 
Instance details

Defined in Dahdit.Internal

Methods

swapEndian :: Int8 -> Int8 Source #

SwapEndian Word16 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Word32 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Word64 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Word8 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Int24 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Word24 Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Double Source # 
Instance details

Defined in Dahdit.Internal

SwapEndian Float Source # 
Instance details

Defined in Dahdit.Internal

(SwapEndian x, Integral x, Integral y) => SwapEndian (ViaFromIntegral n x y) Source # 
Instance details

Defined in Dahdit.Internal

class (Num le, Num be) => EndianPair (n :: Nat) le be | le -> n, be -> n, le -> be, be -> le where Source #

Methods

toLittleEndian :: be -> le Source #

toBigEndian :: le -> be Source #

Instances

Instances details
EndianPair 1 Int8 Int8 Source # 
Instance details

Defined in Dahdit.Internal

EndianPair 1 Word8 Word8 Source # 
Instance details

Defined in Dahdit.Internal

EndianPair 2 Int16LE Int16BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 2 Word16LE Word16BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 3 Int24LE Int24BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 3 Word24LE Word24BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 4 FloatLE FloatBE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 4 Int32LE Int32BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 4 Word32LE Word32BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 8 DoubleLE DoubleBE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 8 Int64LE Int64BE Source # 
Instance details

Defined in Dahdit.Nums

EndianPair 8 Word64LE Word64BE Source # 
Instance details

Defined in Dahdit.Nums

newtype ViaEndianPair (n :: Nat) le be Source #

Constructors

ViaEndianPair 

Fields

Instances

Instances details
(LiftedPrim le, EndianPair n le be, n ~ StaticSize le) => LiftedPrim (ViaEndianPair n le be) Source # 
Instance details

Defined in Dahdit.LiftedPrim

(StaticByteSized le, n ~ StaticSize le) => StaticByteSized (ViaEndianPair n le be) Source # 
Instance details

Defined in Dahdit.Sizes

Associated Types

type StaticSize (ViaEndianPair n le be) :: Nat Source #

type StaticSize (ViaEndianPair n le be) Source # 
Instance details

Defined in Dahdit.Sizes

type StaticSize (ViaEndianPair n le be) = n