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

Dahdit.Codec

Documentation

type Codec a = Codec' a a Source #

build :: Get a -> (a -> Put) -> Codec a Source #

parse :: Codec a -> Get a Source #

produce :: Codec a -> a -> Put Source #

bindPair :: Codec a -> (a -> Codec b) -> Codec (a, b) Source #

bindTag :: (b -> a) -> Codec a -> (a -> Codec b) -> Codec b Source #

class HasCodec a where Source #

Methods

codec :: Codec a Source #

Instances

Instances details
HasCodec Int8 Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec Int8 Source #

HasCodec Word8 Source # 
Instance details

Defined in Dahdit.Codec

HasCodec BoolByte Source # 
Instance details

Defined in Dahdit.Codec

HasCodec TermBytes Source # 
Instance details

Defined in Dahdit.Codec

HasCodec FloatBE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec FloatLE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int16BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int16LE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int24BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int24LE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int32BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Int32LE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word16BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word16LE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word24BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word24LE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word32BE Source # 
Instance details

Defined in Dahdit.Codec

HasCodec Word32LE Source # 
Instance details

Defined in Dahdit.Codec

Binary a => HasCodec (ViaBinary a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (ViaBinary a) Source #

KnownSymbol s => HasCodec (ExactBytes s) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (ExactBytes s) Source #

(KnownNat n, Prim a, StaticByteSized a, Default a) => HasCodec (StaticArray n a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (StaticArray n a) Source #

(KnownNat n, Binary a, StaticByteSized a, Default a) => HasCodec (StaticSeq n a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (StaticSeq n a) Source #

newtype ViaBinary a Source #

Constructors

ViaBinary 

Fields

Instances

Instances details
Binary a => HasCodec (ViaBinary a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

codec :: Codec (ViaBinary a) Source #

newtype ViaCodec a Source #

Constructors

ViaCodec 

Fields

Instances

Instances details
(ByteSized a, HasCodec a) => Binary (ViaCodec a) Source # 
Instance details

Defined in Dahdit.Codec

Methods

get :: Get (ViaCodec a) Source #

put :: ViaCodec a -> Put Source #

ByteSized a => ByteSized (ViaCodec a) Source # 
Instance details

Defined in Dahdit.Codec