binrep-0.8.0: Encode precise binary representations directly in types
Safe HaskellSafe-Inferred
LanguageGHC2021

Binrep.Get.Struct

Synopsis

Documentation

class GetC a where Source #

constant size parser

Methods

getC :: GetterC a Source #

Instances

Instances details
GetC Int8 Source # 
Instance details

Defined in Binrep.Get.Struct

GetC Word8 Source # 
Instance details

Defined in Binrep.Get.Struct

GetC DStruct Source # 
Instance details

Defined in Binrep.Test

GetC () Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC () Source #

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

Defined in Binrep.Get.Struct

Methods

getC :: GetterC (Identity a) Source #

(Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetC (Generically a) Source # 
Instance details

Defined in Binrep.Get.Struct

(Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetC (GenericallyNonSum a) Source # 
Instance details

Defined in Binrep.Get.Struct

Prim' a => GetC (ViaPrim a) Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC (ViaPrim a) Source #

(bs ~ MagicBytes a, ParseReifyBytesW64 bs, ReifyBytesW64 bs, KnownNat (Length bs)) => GetC (Magic a) Source # 
Instance details

Defined in Binrep.Type.Magic

Methods

getC :: GetterC (Magic a) Source #

(KnownNat n, Get a) => GetC (NullPadded n a) Source #

Run a Getter a isolated to n bytes.

Instance details

Defined in Binrep.Type.NullPadded

Methods

getC :: GetterC (NullPadded n a) Source #

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Int8) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Word8) Source # 
Instance details

Defined in Binrep.Get.Struct

GParseBase GetC Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (Refined pr (Refined pl a)) => GetC (Refined (And pl pr) a) Source # 
Instance details

Defined in Binrep.Get.Struct

Methods

getC :: GetterC (Refined (And pl pr) a) Source #

type GParseBaseE GetC Source # 
Instance details

Defined in Binrep.Get.Struct

type GParseBaseLenTF GetC Source # 
Instance details

Defined in Binrep.Get.Struct

type GParseBaseSt GetC Source # 
Instance details

Defined in Binrep.Get.Struct

type GParseBaseC GetC a Source # 
Instance details

Defined in Binrep.Get.Struct

type GParseBaseC GetC a = GetC a

runGetCBs :: forall a. (GetC a, KnownNat (CBLen a)) => ByteString -> Either E a Source #

unsafeRunGetC' :: forall a buf. GetC a => (forall e. buf -> Parser e a -> Result e a) -> buf -> Either E a Source #

doesn't check len

unsafeRunGetCPtr :: forall a. GetC a => Ptr Word8 -> Either E a Source #

doesn't check len

getGenericStruct :: forall a. (Generic a, GParse GetC (Rep a), GAssertNotVoid a, GAssertNotSum a) => GetterC a Source #

Serialize a term of the struct-like type a via its Generic instance.